X-Git-Url: https://git.nmode.ca/signal-cli/blobdiff_plain/30e8e36635733b3e8c75a44e95785ba33cf55e61..0b33cb55b81b9bb4ce4b67cdf24f079b20f3bd05:/src/main/java/org/asamk/signal/dbus/DbusManagerImpl.java diff --git a/src/main/java/org/asamk/signal/dbus/DbusManagerImpl.java b/src/main/java/org/asamk/signal/dbus/DbusManagerImpl.java index e6a18307..3d0e2263 100644 --- a/src/main/java/org/asamk/signal/dbus/DbusManagerImpl.java +++ b/src/main/java/org/asamk/signal/dbus/DbusManagerImpl.java @@ -670,7 +670,18 @@ public class DbusManagerImpl implements Manager { } return Recipient.newBuilder() .withAddress(new RecipientAddress(null, n)) - .withContact(new Contact(contactName, null, null, 0, contactBlocked, false, false, false)) + .withContact(new Contact(contactName, + null, + null, + null, + 0, + 0, + false, + contactBlocked, + false, + false, + false, + null)) .build(); }).filter(Objects::nonNull).toList(); } @@ -849,7 +860,7 @@ public class DbusManagerImpl implements Manager { Optional.empty(), Optional.empty(), List.of(), - List.of(), + getMentions(extras), List.of(), List.of())), Optional.empty(), @@ -893,7 +904,7 @@ public class DbusManagerImpl implements Manager { Optional.empty(), Optional.empty(), List.of(), - List.of(), + getMentions(extras), List.of(), List.of()))), Optional.empty(), @@ -970,7 +981,7 @@ public class DbusManagerImpl implements Manager { Optional.empty(), Optional.empty(), List.of(), - List.of(), + getMentions(extras), List.of(), List.of())), Optional.empty(), @@ -1039,6 +1050,19 @@ public class DbusManagerImpl implements Manager { }).toList(); } + private List getMentions(final Map> extras) { + if (!extras.containsKey("mentions")) { + return List.of(); + } + + final List>> mentions = getValue(extras, "mentions"); + return mentions.stream() + .map(a -> new MessageEnvelope.Data.Mention(new RecipientAddress(null, getValue(a, "recipient")), + getValue(a, "start"), + getValue(a, "length"))) + .toList(); + } + @Override public InputStream retrieveAttachment(final String id) throws IOException { throw new UnsupportedOperationException();