X-Git-Url: https://git.nmode.ca/signal-cli/blobdiff_plain/f207c2abc390d1b6292de6e86379d1513dc358cf..3abb641c7c554bf8a719b0a47a494aee1f9d8eba:/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 99b76781..4444e57a 100644 --- a/lib/src/main/java/org/asamk/signal/manager/Manager.java +++ b/lib/src/main/java/org/asamk/signal/manager/Manager.java @@ -21,15 +21,16 @@ import org.asamk.signal.manager.api.StickerPackUrl; import org.asamk.signal.manager.api.TypingAction; import org.asamk.signal.manager.api.UnregisteredRecipientException; 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.groups.GroupId; import org.asamk.signal.manager.groups.GroupInviteLinkUrl; import org.asamk.signal.manager.groups.GroupNotFoundException; import org.asamk.signal.manager.groups.GroupSendingNotAllowedException; import org.asamk.signal.manager.groups.LastGroupAdminException; import org.asamk.signal.manager.groups.NotAGroupMemberException; -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.asamk.signal.manager.storage.recipients.Recipient; import org.whispersystems.signalservice.api.util.PhoneNumberFormatter; import java.io.Closeable; @@ -37,11 +38,11 @@ import java.io.File; import java.io.IOException; import java.net.URI; import java.time.Duration; +import java.util.Collection; import java.util.List; import java.util.Map; import java.util.Optional; import java.util.Set; -import java.util.UUID; public interface Manager extends Closeable { @@ -58,7 +59,7 @@ public interface Manager extends Closeable { * @return A map of numbers to canonicalized number and uuid. If a number is not registered the uuid is null. * @throws IOException if it's unable to get the contacts to check if they're registered */ - Map> areUsersRegistered(Set numbers) throws IOException; + Map getUserStatus(Set numbers) throws IOException; void updateAccountAttributes(String deviceName) throws IOException; @@ -67,15 +68,10 @@ public interface Manager extends Closeable { void updateConfiguration(Configuration configuration) throws IOException, NotMasterDeviceException; /** - * @param givenName if null, the previous givenName will be kept - * @param familyName if null, the previous familyName will be kept - * @param about if null, the previous about text will be kept - * @param aboutEmoji if null, the previous about emoji will be kept - * @param avatar if avatar is null the image from the local avatar store is used (if present), + * Update the user's profile. + * If a field is null, the previous value will be kept. */ - void setProfile( - String givenName, String familyName, String about, String aboutEmoji, Optional avatar - ) throws IOException; + void updateProfile(UpdateProfile updateProfile) throws IOException; void unregister() throws IOException; @@ -141,6 +137,10 @@ public interface Manager extends Closeable { Set recipients ) throws IOException, NotAGroupMemberException, GroupNotFoundException, GroupSendingNotAllowedException, UnregisteredRecipientException; + SendMessageResults sendPaymentNotificationMessage( + byte[] receipt, String note, RecipientIdentifier.Single recipient + ) throws IOException; + SendMessageResults sendEndSessionMessage(Set recipients) throws IOException; void deleteRecipient(RecipientIdentifier.Single recipient); @@ -151,12 +151,12 @@ public interface Manager extends Closeable { RecipientIdentifier.Single recipient, String name ) throws NotMasterDeviceException, IOException, UnregisteredRecipientException; - void setContactBlocked( - RecipientIdentifier.Single recipient, boolean blocked + void setContactsBlocked( + Collection recipient, boolean blocked ) throws NotMasterDeviceException, IOException, UnregisteredRecipientException; - void setGroupBlocked( - GroupId groupId, boolean blocked + void setGroupsBlocked( + Collection groupId, boolean blocked ) throws GroupNotFoundException, IOException, NotMasterDeviceException; /** @@ -214,7 +214,12 @@ public interface Manager extends Closeable { void sendContacts() throws IOException; - List> getContacts(); + List getRecipients( + boolean onlyContacts, + Optional blocked, + Collection address, + Optional name + ); String getContactOrProfileName(RecipientIdentifier.Single recipient);