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.Pair;
import org.asamk.signal.manager.api.RecipientIdentifier;
import org.asamk.signal.manager.api.SendGroupMessageResults;
import org.asamk.signal.manager.api.SendMessageResults;
import org.freedesktop.dbus.connections.impl.DBusConnection;
import org.freedesktop.dbus.exceptions.DBusException;
import org.freedesktop.dbus.interfaces.DBusInterface;
-import org.whispersystems.libsignal.IdentityKey;
-import org.whispersystems.libsignal.InvalidKeyException;
-import org.whispersystems.libsignal.util.Pair;
-import org.whispersystems.libsignal.util.guava.Optional;
-import org.whispersystems.signalservice.api.groupsv2.GroupLinkNotActiveException;
import org.whispersystems.signalservice.api.messages.SignalServiceAttachmentRemoteId;
import org.whispersystems.signalservice.api.push.SignalServiceAddress;
import org.whispersystems.signalservice.api.push.exceptions.UnregisteredUserException;
import org.whispersystems.signalservice.api.util.UuidUtil;
-import org.whispersystems.signalservice.internal.contacts.crypto.UnauthenticatedResponseException;
import java.io.File;
import java.io.IOException;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
+import java.util.Optional;
import java.util.Set;
import java.util.UUID;
import java.util.concurrent.TimeUnit;
emptyIfNull(familyName),
emptyIfNull(about),
emptyIfNull(aboutEmoji),
- avatar == null ? "" : avatar.transform(File::getPath).or(""),
+ avatar == null ? "" : avatar.map(File::getPath).orElse(""),
avatar != null && !avatar.isPresent());
}
}
@Override
- public void addDeviceLink(final URI linkUri) throws IOException, InvalidKeyException {
+ public void addDeviceLink(final URI linkUri) throws IOException, InvalidDeviceLinkException {
signal.addDevice(linkUri.toString());
}
@Override
- public void setRegistrationLockPin(final Optional<String> pin) throws IOException, UnauthenticatedResponseException {
+ public void setRegistrationLockPin(final Optional<String> pin) throws IOException {
if (pin.isPresent()) {
signal.setPin(pin.get());
} else {
}
if (updateGroup.getGroupLinkState() != null) {
switch (updateGroup.getGroupLinkState()) {
- case DISABLED:
- group.disableLink();
- break;
- case ENABLED:
- group.enableLink(false);
- break;
- case ENABLED_WITH_APPROVAL:
- group.enableLink(true);
- break;
+ case DISABLED -> group.disableLink();
+ case ENABLED -> group.enableLink(false);
+ case ENABLED_WITH_APPROVAL -> group.enableLink(true);
}
}
return new SendGroupMessageResults(0, List.of());
}
@Override
- public Pair<GroupId, SendGroupMessageResults> joinGroup(final GroupInviteLinkUrl inviteLinkUrl) throws IOException, GroupLinkNotActiveException {
+ public Pair<GroupId, SendGroupMessageResults> joinGroup(final GroupInviteLinkUrl inviteLinkUrl) throws IOException, InactiveGroupLinkException {
final var newGroupId = signal.joinGroup(inviteLinkUrl.getUrl());
return new Pair<>(GroupId.unknownVersion(newGroupId), new SendGroupMessageResults(0, List.of()));
}
final Message message, final Set<RecipientIdentifier> recipients
) throws IOException, AttachmentInvalidException, NotAGroupMemberException, GroupNotFoundException, GroupSendingNotAllowedException {
return handleMessage(recipients,
- numbers -> signal.sendMessage(message.getMessageText(), message.getAttachments(), numbers),
- () -> signal.sendNoteToSelfMessage(message.getMessageText(), message.getAttachments()),
- groupId -> signal.sendGroupMessage(message.getMessageText(), message.getAttachments(), groupId));
+ numbers -> signal.sendMessage(message.messageText(), message.attachments(), numbers),
+ () -> signal.sendNoteToSelfMessage(message.messageText(), message.attachments()),
+ groupId -> signal.sendGroupMessage(message.messageText(), message.attachments(), groupId));
}
@Override
signal.sendSyncRequest();
}
+ @Override
+ public void addReceiveHandler(final ReceiveMessageHandler handler) {
+ throw new UnsupportedOperationException();
+ }
+
+ @Override
+ public void removeReceiveHandler(final ReceiveMessageHandler handler) {
+ throw new UnsupportedOperationException();
+ }
+
+ @Override
+ public boolean isReceiving() {
+ throw new UnsupportedOperationException();
+ }
+
+ @Override
+ public void receiveMessages(final ReceiveMessageHandler handler) throws IOException {
+ throw new UnsupportedOperationException();
+ }
+
@Override
public void receiveMessages(
- final long timeout,
- final TimeUnit unit,
- final boolean returnOnTimeout,
- final boolean ignoreAttachments,
- final ReceiveMessageHandler handler
+ final long timeout, final TimeUnit unit, final ReceiveMessageHandler handler
) throws IOException {
throw new UnsupportedOperationException();
}
+ @Override
+ public void setIgnoreAttachments(final boolean ignoreAttachments) {
+ throw new UnsupportedOperationException();
+ }
+
@Override
public boolean hasCaughtUpWithOldMessages() {
throw new UnsupportedOperationException();
throw new UnsupportedOperationException();
}
- @Override
- public String computeSafetyNumber(
- final SignalServiceAddress theirAddress, final IdentityKey theirIdentityKey
- ) {
- throw new UnsupportedOperationException();
- }
-
@Override
public SignalServiceAddress resolveSignalServiceAddress(final SignalServiceAddress address) {
return address;