diff --git a/src/main/java/org/asamk/signal/json/JsonMessageEnvelope.java b/src/main/java/org/asamk/signal/json/JsonMessageEnvelope.java index d58f3843..9e4167d5 100644 --- a/src/main/java/org/asamk/signal/json/JsonMessageEnvelope.java +++ b/src/main/java/org/asamk/signal/json/JsonMessageEnvelope.java @@ -7,6 +7,7 @@ import org.asamk.Signal; import org.asamk.signal.manager.Manager; import org.whispersystems.signalservice.api.messages.SignalServiceContent; import org.whispersystems.signalservice.api.messages.SignalServiceEnvelope; +import org.whispersystems.signalservice.api.util.InvalidNumberException; import java.util.List; @@ -17,6 +18,9 @@ public class JsonMessageEnvelope { @JsonProperty final String source; + @JsonProperty + final String sourceName; + @JsonProperty final Integer sourceDevice; @@ -27,6 +31,7 @@ public class JsonMessageEnvelope { @JsonProperty final long timestamp; + @JsonProperty @JsonInclude(JsonInclude.Include.NON_NULL) final JsonDataMessage dataMessage; @@ -62,6 +67,13 @@ public class JsonMessageEnvelope { this.sourceDevice = null; this.relay = null; } + if (this.source != null) { + try { + this.sourceName = m.getContactOrProfileName(this.source); + } catch (InvalidNumberException e) {} + } else { + this.sourceName = null; + } this.timestamp = envelope.getTimestamp(); if (envelope.isReceipt()) { this.receiptMessage = JsonReceiptMessage.deliveryReceipt(timestamp, List.of(timestamp)); @@ -87,6 +99,7 @@ public class JsonMessageEnvelope { public JsonMessageEnvelope(Signal.MessageReceived messageReceived) { source = messageReceived.getSender(); + sourceName = null; sourceDevice = null; relay = null; timestamp = messageReceived.getTimestamp(); @@ -99,6 +112,7 @@ public class JsonMessageEnvelope { public JsonMessageEnvelope(Signal.ReceiptReceived receiptReceived) { source = receiptReceived.getSender(); + sourceName = null; sourceDevice = null; relay = null; timestamp = receiptReceived.getTimestamp(); @@ -111,6 +125,7 @@ public class JsonMessageEnvelope { public JsonMessageEnvelope(Signal.SyncMessageReceived messageReceived) { source = messageReceived.getSource(); + sourceName = null; sourceDevice = null; relay = null; timestamp = messageReceived.getTimestamp();