import org.asamk.signal.manager.api.InvalidDeviceLinkException;
import org.asamk.signal.manager.api.InvalidStickerException;
import org.asamk.signal.manager.api.Message;
-import org.asamk.signal.manager.api.NotMasterDeviceException;
+import org.asamk.signal.manager.api.NotPrimaryDeviceException;
import org.asamk.signal.manager.api.Pair;
+import org.asamk.signal.manager.api.ReceiveConfig;
import org.asamk.signal.manager.api.RecipientIdentifier;
import org.asamk.signal.manager.api.SendGroupMessageResults;
import org.asamk.signal.manager.api.SendMessageResult;
import org.slf4j.LoggerFactory;
import org.whispersystems.signalservice.api.SignalSessionLock;
import org.whispersystems.signalservice.api.messages.SignalServiceDataMessage;
+import org.whispersystems.signalservice.api.messages.SignalServicePreview;
import org.whispersystems.signalservice.api.messages.SignalServiceReceiptMessage;
import org.whispersystems.signalservice.api.messages.SignalServiceTypingMessage;
import org.whispersystems.signalservice.api.push.ACI;
@Override
public void updateConfiguration(
Configuration configuration
- ) throws NotMasterDeviceException {
- if (!account.isMasterDevice()) {
- throw new NotMasterDeviceException();
+ ) throws NotPrimaryDeviceException {
+ if (!account.isPrimaryDevice()) {
+ throw new NotPrimaryDeviceException();
}
final var configurationStore = account.getConfigurationStore();
}
@Override
- public void setRegistrationLockPin(Optional<String> pin) throws IOException, NotMasterDeviceException {
- if (!account.isMasterDevice()) {
- throw new NotMasterDeviceException();
+ public void setRegistrationLockPin(Optional<String> pin) throws IOException, NotPrimaryDeviceException {
+ if (!account.isPrimaryDevice()) {
+ throw new NotPrimaryDeviceException();
}
if (pin.isPresent()) {
context.getAccountHelper().setRegistrationPin(pin.get());
final SignalServiceDataMessage.Builder messageBuilder, final Message message
) throws AttachmentInvalidException, IOException, UnregisteredRecipientException, InvalidStickerException {
messageBuilder.withBody(message.messageText());
- final var attachments = message.attachments();
- if (attachments != null) {
- messageBuilder.withAttachments(context.getAttachmentHelper().uploadAttachments(attachments));
+ if (message.attachments().size() > 0) {
+ messageBuilder.withAttachments(context.getAttachmentHelper().uploadAttachments(message.attachments()));
}
if (message.mentions().size() > 0) {
messageBuilder.withMentions(resolveMentions(message.mentions()));
stickerPack.getPackKey(),
stickerId,
manifestSticker.emoji(),
- AttachmentUtils.createAttachment(streamDetails, Optional.empty())));
+ AttachmentUtils.createAttachmentStream(streamDetails, Optional.empty())));
+ }
+ if (message.previews().size() > 0) {
+ final var previews = new ArrayList<SignalServicePreview>(message.previews().size());
+ for (final var p : message.previews()) {
+ final var image = p.image().isPresent() ? context.getAttachmentHelper()
+ .uploadAttachment(p.image().get()) : null;
+ previews.add(new SignalServicePreview(p.url(),
+ p.title(),
+ p.description(),
+ 0,
+ Optional.ofNullable(image)));
+ }
+ messageBuilder.withPreviews(previews);
}
}
@Override
public void setContactName(
- RecipientIdentifier.Single recipient, String name
- ) throws NotMasterDeviceException, UnregisteredRecipientException {
- if (!account.isMasterDevice()) {
- throw new NotMasterDeviceException();
+ RecipientIdentifier.Single recipient, String givenName, final String familyName
+ ) throws NotPrimaryDeviceException, UnregisteredRecipientException {
+ if (!account.isPrimaryDevice()) {
+ throw new NotPrimaryDeviceException();
}
- context.getContactHelper().setContactName(context.getRecipientHelper().resolveRecipient(recipient), name);
+ context.getContactHelper()
+ .setContactName(context.getRecipientHelper().resolveRecipient(recipient), givenName, familyName);
}
@Override
public void setContactsBlocked(
Collection<RecipientIdentifier.Single> recipients, boolean blocked
- ) throws NotMasterDeviceException, IOException, UnregisteredRecipientException {
- if (!account.isMasterDevice()) {
- throw new NotMasterDeviceException();
+ ) throws NotPrimaryDeviceException, IOException, UnregisteredRecipientException {
+ if (!account.isPrimaryDevice()) {
+ throw new NotPrimaryDeviceException();
}
if (recipients.size() == 0) {
return;
@Override
public void setGroupsBlocked(
final Collection<GroupId> groupIds, final boolean blocked
- ) throws GroupNotFoundException, NotMasterDeviceException, IOException {
- if (!account.isMasterDevice()) {
- throw new NotMasterDeviceException();
+ ) throws GroupNotFoundException, NotPrimaryDeviceException, IOException {
+ if (!account.isPrimaryDevice()) {
+ throw new NotPrimaryDeviceException();
}
if (groupIds.size() == 0) {
return;
}
@Override
- public void setIgnoreAttachments(final boolean ignoreAttachments) {
- context.getReceiveHelper().setIgnoreAttachments(ignoreAttachments);
+ public void setReceiveConfig(final ReceiveConfig receiveConfig) {
+ context.getReceiveHelper().setReceiveConfig(receiveConfig);
}
@Override