X-Git-Url: https://git.nmode.ca/signal-cli/blobdiff_plain/fc2e9bbfaec8dbe6e317b951c0d28fa2e9421347..9a5e29e01524de881f8698dfbe9f1e92bb343014:/src/main/java/org/asamk/signal/dbus/DbusSignalImpl.java diff --git a/src/main/java/org/asamk/signal/dbus/DbusSignalImpl.java b/src/main/java/org/asamk/signal/dbus/DbusSignalImpl.java index 95acd2cb..80132f09 100644 --- a/src/main/java/org/asamk/signal/dbus/DbusSignalImpl.java +++ b/src/main/java/org/asamk/signal/dbus/DbusSignalImpl.java @@ -62,7 +62,7 @@ import java.util.stream.Collectors; import static org.asamk.signal.dbus.DbusUtils.makeValidObjectPathElement; -public class DbusSignalImpl implements Signal { +public class DbusSignalImpl implements Signal, AutoCloseable { private final Manager m; private final DBusConnection connection; @@ -76,7 +76,7 @@ public class DbusSignalImpl implements Signal { private DbusReceiveMessageHandler dbusMessageHandler; private int subscriberCount; - private final static Logger logger = LoggerFactory.getLogger(DbusSignalImpl.class); + private static final Logger logger = LoggerFactory.getLogger(DbusSignalImpl.class); public DbusSignalImpl( final Manager m, DBusConnection connection, final String objectPath, final boolean noReceiveOnStart @@ -108,6 +108,7 @@ public class DbusSignalImpl implements Signal { updateIdentities(); } + @Override public void close() { if (dbusMessageHandler != null) { m.removeReceiveHandler(dbusMessageHandler); @@ -224,19 +225,20 @@ public class DbusSignalImpl implements Signal { } @Override - public long sendMessage(final String message, final List attachments, final List recipients) { + public long sendMessage(final String messageText, final List attachments, final List recipients) { try { - final var results = m.sendMessage(new Message(message, - attachments, - List.of(), - Optional.empty(), - Optional.empty(), - List.of(), - Optional.empty(), - List.of()), - getSingleRecipientIdentifiers(recipients, m.getSelfNumber()).stream() - .map(RecipientIdentifier.class::cast) - .collect(Collectors.toSet())); + final var message = new Message(messageText, + attachments, + List.of(), + Optional.empty(), + Optional.empty(), + List.of(), + Optional.empty(), + List.of()); + final var recipientIdentifiers = getSingleRecipientIdentifiers(recipients, m.getSelfNumber()).stream() + .map(RecipientIdentifier.class::cast) + .collect(Collectors.toSet()); + final var results = m.sendMessage(message, recipientIdentifiers, false); checkSendMessageResults(results); return results.timestamp(); @@ -383,17 +385,18 @@ public class DbusSignalImpl implements Signal { @Override public long sendNoteToSelfMessage( - final String message, final List attachments + final String messageText, final List attachments ) throws Error.AttachmentInvalid, Error.Failure, Error.UntrustedIdentity { try { - final var results = m.sendMessage(new Message(message, + final var message = new Message(messageText, attachments, List.of(), Optional.empty(), Optional.empty(), List.of(), Optional.empty(), - List.of()), Set.of(RecipientIdentifier.NoteToSelf.INSTANCE)); + List.of()); + final var results = m.sendMessage(message, Set.of(RecipientIdentifier.NoteToSelf.INSTANCE), false); checkSendMessageResults(results); return results.timestamp(); } catch (AttachmentInvalidException e) { @@ -428,16 +431,17 @@ public class DbusSignalImpl implements Signal { } @Override - public long sendGroupMessage(final String message, final List attachments, final byte[] groupId) { + public long sendGroupMessage(final String messageText, final List attachments, final byte[] groupId) { try { - var results = m.sendMessage(new Message(message, + final var message = new Message(messageText, attachments, List.of(), Optional.empty(), Optional.empty(), List.of(), Optional.empty(), - List.of()), Set.of(getGroupRecipientIdentifier(groupId))); + List.of()); + var results = m.sendMessage(message, Set.of(getGroupRecipientIdentifier(groupId)), false); checkSendMessageResults(results); return results.timestamp(); } catch (IOException | InvalidStickerException e) { @@ -552,6 +556,7 @@ public class DbusSignalImpl implements Signal { } @Override + @Deprecated public void setGroupBlocked(final byte[] groupId, final boolean blocked) { try { m.setGroupsBlocked(List.of(getGroupId(groupId)), blocked); @@ -565,6 +570,7 @@ public class DbusSignalImpl implements Signal { } @Override + @Deprecated public List getGroupIds() { var groups = m.getGroups(); return groups.stream().map(g -> g.groupId().serialize()).toList(); @@ -587,6 +593,7 @@ public class DbusSignalImpl implements Signal { } @Override + @Deprecated public String getGroupName(final byte[] groupId) { var group = m.getGroup(getGroupId(groupId)); if (group == null || group.title() == null) { @@ -597,6 +604,7 @@ public class DbusSignalImpl implements Signal { } @Override + @Deprecated public List getGroupMembers(final byte[] groupId) { var group = m.getGroup(getGroupId(groupId)); if (group == null) { @@ -611,11 +619,16 @@ public class DbusSignalImpl implements Signal { public byte[] createGroup( final String name, final List members, final String avatar ) throws Error.AttachmentInvalid, Error.Failure, Error.InvalidNumber { - return updateGroup(new byte[0], name, members, avatar); + return updateGroupInternal(new byte[0], name, members, avatar); } @Override + @Deprecated public byte[] updateGroup(byte[] groupId, String name, List members, String avatar) { + return updateGroupInternal(groupId, name, members, avatar); + } + + public byte[] updateGroupInternal(byte[] groupId, String name, List members, String avatar) { try { groupId = nullIfEmpty(groupId); name = nullIfEmpty(name); @@ -650,6 +663,7 @@ public class DbusSignalImpl implements Signal { } @Override + @Deprecated public boolean isRegistered() { return true; } @@ -657,7 +671,7 @@ public class DbusSignalImpl implements Signal { @Override public boolean isRegistered(String number) { var result = isRegistered(List.of(number)); - return result.get(0); + return result.getFirst(); } @Override @@ -770,6 +784,7 @@ public class DbusSignalImpl implements Signal { } @Override + @Deprecated public void quitGroup(final byte[] groupId) { var group = getGroupId(groupId); try { @@ -809,6 +824,7 @@ public class DbusSignalImpl implements Signal { } @Override + @Deprecated public boolean isGroupBlocked(final byte[] groupId) { var group = m.getGroup(getGroupId(groupId)); if (group == null) { @@ -819,6 +835,7 @@ public class DbusSignalImpl implements Signal { } @Override + @Deprecated public boolean isMember(final byte[] groupId) { var group = m.getGroup(getGroupId(groupId)); if (group == null) { @@ -1170,7 +1187,7 @@ public class DbusSignalImpl implements Signal { throw new Error.Failure("Only the name of this device can be changed"); } try { - m.updateAccountAttributes(name); + m.updateAccountAttributes(name, null); // update device list updateDevices(); } catch (IOException e) {