package 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.api.RecipientAddress;
import org.asamk.signal.manager.api.RecipientIdentifier;
+import org.asamk.signal.manager.api.TextStyle;
import org.asamk.signal.manager.api.UntrustedIdentityException;
-import org.asamk.signal.manager.groups.GroupId;
import org.asamk.signal.output.PlainTextWriter;
import org.asamk.signal.util.DateUtils;
import org.asamk.signal.util.Hex;
private void handleMessageInternal(MessageEnvelope envelope, Throwable exception) {
var source = envelope.sourceAddress();
- writer.println("Envelope from: {} (device: {})",
+ writer.println("Envelope from: {} (device: {}) to {}",
source.map(this::formatContact).orElse("unknown source"),
- envelope.sourceDevice());
+ envelope.sourceDevice(),
+ m.getSelfNumber());
writer.println("Timestamp: {}", DateUtils.formatTimestamp(envelope.timestamp()));
writer.println("Server timestamps: received: {} delivered: {}",
DateUtils.formatTimestamp(envelope.serverReceivedTimestamp()),
var message = envelope.data().get();
printDataMessage(writer, message);
}
+ if (envelope.edit().isPresent()) {
+ var message = envelope.edit().get();
+ printEditMessage(writer, message);
+ }
if (envelope.story().isPresent()) {
var message = envelope.story().get();
printStoryMessage(writer.indentedWriter(), message);
printMention(writer, mention);
}
}
+ if (message.textStyles().size() > 0) {
+ writer.println("Text styles:");
+ for (var textStyle : message.textStyles()) {
+ printTextStyle(writer, textStyle);
+ }
+ }
if (message.attachments().size() > 0) {
writer.println("Attachments:");
for (var attachment : message.attachments()) {
}
}
+ private void printEditMessage(
+ PlainTextWriter writer, MessageEnvelope.Edit message
+ ) {
+ writer.println("Edit: Target message timestamp: {}", DateUtils.formatTimestamp(message.targetSentTimestamp()));
+ printDataMessage(writer.indentedWriter(), message.dataMessage());
+ }
+
private void printStoryMessage(
PlainTextWriter writer, MessageEnvelope.Story message
) {
writer.println("- {}: {} (length: {})", formatContact(mention.recipient()), mention.start(), mention.length());
}
+ private void printTextStyle(
+ PlainTextWriter writer, TextStyle textStyle
+ ) {
+ writer.println("- {}: {} (length: {})", textStyle.style().name(), textStyle.start(), textStyle.length());
+ }
+
private void printAttachment(PlainTextWriter writer, MessageEnvelope.Data.Attachment attachment) {
writer.println("Content-Type: {}", attachment.contentType());
writer.println("Type: {}", attachment.id().isPresent() ? "Pointer" : "Stream");