* @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<String, UserStatus> getUserStatus(Set<String> numbers) throws IOException;
+ Map<String, UserStatus> getUserStatus(Set<String> numbers) throws IOException, RateLimitException;
void updateAccountAttributes(String deviceName) throws IOException;
Configuration getConfiguration();
- void updateConfiguration(Configuration configuration) throws IOException, NotPrimaryDeviceException;
+ void updateConfiguration(Configuration configuration) throws NotPrimaryDeviceException;
/**
* Update the user's profile.
SendMessageResults sendReadReceipt(
RecipientIdentifier.Single sender, List<Long> messageIds
- ) throws IOException;
+ );
SendMessageResults sendViewedReceipt(
RecipientIdentifier.Single sender, List<Long> messageIds
- ) throws IOException;
+ );
SendMessageResults sendMessage(
Message message, Set<RecipientIdentifier> recipients
void setContactName(
RecipientIdentifier.Single recipient, String givenName, final String familyName
- ) throws NotPrimaryDeviceException, IOException, UnregisteredRecipientException;
+ ) throws NotPrimaryDeviceException, UnregisteredRecipientException;
void setContactsBlocked(
Collection<RecipientIdentifier.Single> recipient, boolean blocked
Optional<Duration> timeout, Optional<Integer> maxMessages, ReceiveMessageHandler handler
) throws IOException, AlreadyReceivingException;
+ void stopReceiveMessages();
+
void setReceiveConfig(ReceiveConfig receiveConfig);
boolean isContactBlocked(RecipientIdentifier.Single recipient);
InputStream retrieveAttachment(final String id) throws IOException;
@Override
- void close() throws IOException;
+ void close();
interface ReceiveMessageHandler {