]> nmode's Git Repositories - signal-cli/blobdiff - lib/src/main/java/org/asamk/signal/manager/Manager.java
Remove libsignal-service from manager lib API
[signal-cli] / lib / src / main / java / org / asamk / signal / manager / Manager.java
index 0a8762d981d1c6b6329108c249cb159790f432fb..b4579274b738c4372a8d0f9ace7213bbf08eb718 100644 (file)
@@ -3,7 +3,11 @@ package org.asamk.signal.manager;
 import org.asamk.signal.manager.api.Device;
 import org.asamk.signal.manager.api.Group;
 import org.asamk.signal.manager.api.Identity;
+import org.asamk.signal.manager.api.InactiveGroupLinkException;
+import org.asamk.signal.manager.api.InvalidDeviceLinkException;
 import org.asamk.signal.manager.api.Message;
+import org.asamk.signal.manager.api.MessageEnvelope;
+import org.asamk.signal.manager.api.Pair;
 import org.asamk.signal.manager.api.RecipientIdentifier;
 import org.asamk.signal.manager.api.SendGroupMessageResults;
 import org.asamk.signal.manager.api.SendMessageResults;
@@ -22,17 +26,7 @@ import org.asamk.signal.manager.storage.identities.TrustNewIdentity;
 import org.asamk.signal.manager.storage.recipients.Contact;
 import org.asamk.signal.manager.storage.recipients.Profile;
 import org.asamk.signal.manager.storage.recipients.RecipientAddress;
-import org.whispersystems.libsignal.InvalidKeyException;
-import org.whispersystems.libsignal.util.Pair;
-import org.whispersystems.libsignal.util.guava.Optional;
-import org.whispersystems.signalservice.api.groupsv2.GroupLinkNotActiveException;
-import org.whispersystems.signalservice.api.messages.SignalServiceAttachmentRemoteId;
-import org.whispersystems.signalservice.api.messages.SignalServiceContent;
-import org.whispersystems.signalservice.api.messages.SignalServiceEnvelope;
-import org.whispersystems.signalservice.api.push.SignalServiceAddress;
-import org.whispersystems.signalservice.api.push.exceptions.UnregisteredUserException;
 import org.whispersystems.signalservice.api.util.PhoneNumberFormatter;
-import org.whispersystems.signalservice.internal.contacts.crypto.UnauthenticatedResponseException;
 
 import java.io.Closeable;
 import java.io.File;
@@ -41,6 +35,7 @@ import java.net.URI;
 import java.util.Arrays;
 import java.util.List;
 import java.util.Map;
+import java.util.Optional;
 import java.util.Set;
 import java.util.UUID;
 import java.util.concurrent.TimeUnit;
@@ -57,11 +52,11 @@ public interface Manager extends Closeable {
     ) throws IOException, NotRegisteredException {
         var pathConfig = PathConfig.createDefault(settingsPath);
 
-        if (!SignalAccount.userExists(pathConfig.getDataPath(), number)) {
+        if (!SignalAccount.userExists(pathConfig.dataPath(), number)) {
             throw new NotRegisteredException();
         }
 
-        var account = SignalAccount.load(pathConfig.getDataPath(), number, true, trustNewIdentity);
+        var account = SignalAccount.load(pathConfig.dataPath(), number, true, trustNewIdentity);
 
         if (!account.isRegistered()) {
             throw new NotRegisteredException();
@@ -72,9 +67,17 @@ public interface Manager extends Closeable {
         return new ManagerImpl(account, pathConfig, serviceEnvironmentConfig, userAgent);
     }
 
+    static void initLogger() {
+        LibSignalLogger.initLogger();
+    }
+
+    static boolean isValidNumber(final String e164Number, final String countryCode) {
+        return PhoneNumberFormatter.isValidNumber(e164Number, countryCode);
+    }
+
     static List<String> getAllLocalNumbers(File settingsPath) {
         var pathConfig = PathConfig.createDefault(settingsPath);
-        final var dataPath = pathConfig.getDataPath();
+        final var dataPath = pathConfig.dataPath();
         final var files = dataPath.listFiles();
 
         if (files == null) {
@@ -117,11 +120,11 @@ public interface Manager extends Closeable {
 
     void removeLinkedDevices(long deviceId) throws IOException;
 
-    void addDeviceLink(URI linkUri) throws IOException, InvalidKeyException;
+    void addDeviceLink(URI linkUri) throws IOException, InvalidDeviceLinkException;
 
-    void setRegistrationLockPin(Optional<String> pin) throws IOException, UnauthenticatedResponseException;
+    void setRegistrationLockPin(Optional<String> pin) throws IOException;
 
-    Profile getRecipientProfile(RecipientIdentifier.Single recipient) throws UnregisteredUserException;
+    Profile getRecipientProfile(RecipientIdentifier.Single recipient) throws IOException;
 
     List<Group> getGroups();
 
@@ -141,7 +144,7 @@ public interface Manager extends Closeable {
 
     Pair<GroupId, SendGroupMessageResults> joinGroup(
             GroupInviteLinkUrl inviteLinkUrl
-    ) throws IOException, GroupLinkNotActiveException;
+    ) throws IOException, InactiveGroupLinkException;
 
     void sendTypingMessage(
             TypingAction action, Set<RecipientIdentifier> recipients
@@ -175,7 +178,7 @@ public interface Manager extends Closeable {
 
     void setContactName(
             RecipientIdentifier.Single recipient, String name
-    ) throws NotMasterDeviceException, UnregisteredUserException;
+    ) throws NotMasterDeviceException, IOException;
 
     void setContactBlocked(
             RecipientIdentifier.Single recipient, boolean blocked
@@ -223,7 +226,7 @@ public interface Manager extends Closeable {
 
     boolean isContactBlocked(RecipientIdentifier.Single recipient);
 
-    File getAttachmentFile(SignalServiceAttachmentRemoteId attachmentId);
+    File getAttachmentFile(String attachmentId);
 
     void sendContacts() throws IOException;
 
@@ -245,13 +248,11 @@ public interface Manager extends Closeable {
 
     boolean trustIdentityAllKeys(RecipientIdentifier.Single recipient);
 
-    SignalServiceAddress resolveSignalServiceAddress(SignalServiceAddress address);
-
     @Override
     void close() throws IOException;
 
     interface ReceiveMessageHandler {
 
-        void handleMessage(SignalServiceEnvelope envelope, SignalServiceContent decryptedContent, Throwable e);
+        void handleMessage(MessageEnvelope envelope, Throwable e);
     }
 }