X-Git-Url: https://git.nmode.ca/signal-cli/blobdiff_plain/31dec5a666dc2d5014137392886bd3cf6a696b88..fa5c09d23b830f2999a52421c189a3e4661da99f:/lib/src/main/java/org/asamk/signal/manager/Manager.java diff --git a/lib/src/main/java/org/asamk/signal/manager/Manager.java b/lib/src/main/java/org/asamk/signal/manager/Manager.java index ab750ff0..2ffb5337 100644 --- a/lib/src/main/java/org/asamk/signal/manager/Manager.java +++ b/lib/src/main/java/org/asamk/signal/manager/Manager.java @@ -1,11 +1,13 @@ package org.asamk.signal.manager; +import org.asamk.signal.manager.api.Configuration; 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; @@ -25,10 +27,6 @@ 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.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.util.PhoneNumberFormatter; import java.io.Closeable; @@ -70,7 +68,15 @@ public interface Manager extends Closeable { return new ManagerImpl(account, pathConfig, serviceEnvironmentConfig, userAgent); } - static List getAllLocalNumbers(File settingsPath) { + static void initLogger() { + LibSignalLogger.initLogger(); + } + + static boolean isValidNumber(final String e164Number, final String countryCode) { + return PhoneNumberFormatter.isValidNumber(e164Number, countryCode); + } + + static List getAllLocalAccountNumbers(File settingsPath) { var pathConfig = PathConfig.createDefault(settingsPath); final var dataPath = pathConfig.dataPath(); final var files = dataPath.listFiles(); @@ -94,12 +100,9 @@ public interface Manager extends Closeable { void updateAccountAttributes(String deviceName) throws IOException; - void updateConfiguration( - final Boolean readReceipts, - final Boolean unidentifiedDeliveryIndicators, - final Boolean typingIndicators, - final Boolean linkPreviews - ) throws IOException, NotMasterDeviceException; + Configuration getConfiguration(); + + void updateConfiguration(Configuration configuration) throws IOException, NotMasterDeviceException; void setProfile( String givenName, String familyName, String about, String aboutEmoji, Optional avatar @@ -195,7 +198,11 @@ public interface Manager extends Closeable { * Add a handler to receive new messages. * Will start receiving messages from server, if not already started. */ - void addReceiveHandler(ReceiveMessageHandler handler); + default void addReceiveHandler(ReceiveMessageHandler handler) { + addReceiveHandler(handler, false); + } + + void addReceiveHandler(ReceiveMessageHandler handler, final boolean isWeakListener); /** * Remove a handler to receive new messages. @@ -221,8 +228,6 @@ public interface Manager extends Closeable { boolean isContactBlocked(RecipientIdentifier.Single recipient); - File getAttachmentFile(SignalServiceAttachmentRemoteId attachmentId); - void sendContacts() throws IOException; List> getContacts(); @@ -243,13 +248,16 @@ public interface Manager extends Closeable { boolean trustIdentityAllKeys(RecipientIdentifier.Single recipient); - SignalServiceAddress resolveSignalServiceAddress(SignalServiceAddress address); + void addClosedListener(Runnable listener); @Override void close() throws IOException; interface ReceiveMessageHandler { - void handleMessage(SignalServiceEnvelope envelope, SignalServiceContent decryptedContent, Throwable e); + ReceiveMessageHandler EMPTY = (envelope, e) -> { + }; + + void handleMessage(MessageEnvelope envelope, Throwable e); } }