X-Git-Url: https://git.nmode.ca/signal-cli/blobdiff_plain/7cf3a989bf47dd81f8700dcfb6986ac81e1bf02e..5ff66728e32237a23fdffda4515031d24dad7cf0:/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 e9eeb7c4..736f4e08 100644 --- a/lib/src/main/java/org/asamk/signal/manager/Manager.java +++ b/lib/src/main/java/org/asamk/signal/manager/Manager.java @@ -2,6 +2,7 @@ package org.asamk.signal.manager; import org.asamk.signal.manager.api.AlreadyReceivingException; import org.asamk.signal.manager.api.AttachmentInvalidException; +import org.asamk.signal.manager.api.CaptchaRejectedException; import org.asamk.signal.manager.api.CaptchaRequiredException; import org.asamk.signal.manager.api.Configuration; import org.asamk.signal.manager.api.Device; @@ -43,6 +44,8 @@ import org.asamk.signal.manager.api.UpdateGroup; import org.asamk.signal.manager.api.UpdateProfile; import org.asamk.signal.manager.api.UserStatus; import org.asamk.signal.manager.api.UsernameLinkUrl; +import org.asamk.signal.manager.api.UsernameStatus; +import org.asamk.signal.manager.api.VerificationMethodNotAvailableException; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.whispersystems.signalservice.api.util.PhoneNumberFormatter; @@ -90,7 +93,14 @@ public interface Manager extends Closeable { */ Map getUserStatus(Set numbers) throws IOException, RateLimitException; - void updateAccountAttributes(String deviceName, Boolean unrestrictedUnidentifiedSender) throws IOException; + Map getUsernameStatus(Set usernames); + + void updateAccountAttributes( + String deviceName, + Boolean unrestrictedUnidentifiedSender, + final Boolean discoverableByNumber, + final Boolean numberSharing + ) throws IOException; Configuration getConfiguration(); @@ -120,7 +130,7 @@ public interface Manager extends Closeable { void startChangeNumber( String newNumber, boolean voiceVerification, String captcha - ) throws RateLimitException, IOException, CaptchaRequiredException, NonNormalizedPhoneNumberException, NotPrimaryDeviceException; + ) throws RateLimitException, IOException, CaptchaRequiredException, NonNormalizedPhoneNumberException, NotPrimaryDeviceException, VerificationMethodNotAvailableException; void finishChangeNumber( String newNumber, String verificationCode, String pin @@ -130,11 +140,13 @@ public interface Manager extends Closeable { void deleteAccount() throws IOException; - void submitRateLimitRecaptchaChallenge(String challenge, String captcha) throws IOException; + void submitRateLimitRecaptchaChallenge( + String challenge, String captcha + ) throws IOException, CaptchaRejectedException; List getLinkedDevices() throws IOException; - void removeLinkedDevices(int deviceId) throws IOException; + void removeLinkedDevices(int deviceId) throws IOException, NotPrimaryDeviceException; void addDeviceLink(DeviceLinkUrl linkUri) throws IOException, InvalidDeviceLinkException, NotPrimaryDeviceException; @@ -199,6 +211,10 @@ public interface Manager extends Closeable { SendMessageResults sendEndSessionMessage(Set recipients) throws IOException; + SendMessageResults sendMessageRequestResponse( + MessageEnvelope.Sync.MessageRequestResponse.Type type, Set recipientIdentifiers + ); + void hideRecipient(RecipientIdentifier.Single recipient); void deleteRecipient(RecipientIdentifier.Single recipient);