import org.asamk.Signal;
import org.asamk.signal.manager.Manager;
+import org.asamk.signal.manager.api.GroupId;
import org.asamk.signal.manager.api.MessageEnvelope;
-import org.asamk.signal.manager.groups.GroupId;
-import org.asamk.signal.manager.storage.recipients.RecipientAddress;
+import org.asamk.signal.manager.api.RecipientAddress;
import org.freedesktop.dbus.connections.impl.DBusConnection;
import org.freedesktop.dbus.exceptions.DBusException;
import org.freedesktop.dbus.types.Variant;
getMessageExtras(message)));
}
}
+ if (envelope.edit().isPresent()) {
+ var editMessage = envelope.edit().get();
+ var message = editMessage.dataMessage();
+
+ var groupId = message.groupContext()
+ .map(MessageEnvelope.Data.GroupContext::groupId)
+ .map(GroupId::serialize)
+ .orElseGet(() -> new byte[0]);
+ var isGroupUpdate = message.groupContext()
+ .map(MessageEnvelope.Data.GroupContext::isGroupUpdate)
+ .orElse(false);
+ if (!message.isEndSession() && !isGroupUpdate) {
+ conn.sendMessage(new Signal.EditMessageReceived(objectPath,
+ message.timestamp(),
+ editMessage.targetSentTimestamp(),
+ senderString,
+ groupId,
+ message.body().orElse(""),
+ getMessageExtras(message)));
+ }
+ }
if (envelope.sync().isPresent()) {
var syncMessage = envelope.sync().get();
if (syncMessage.sent().isPresent()) {