]> nmode's Git Repositories - signal-cli/commitdiff
Include source name in JSON output (#663)
authortechnillogue <wisepoison@gmail.com>
Fri, 23 Jul 2021 15:19:09 +0000 (11:19 -0400)
committerGitHub <noreply@github.com>
Fri, 23 Jul 2021 15:19:09 +0000 (17:19 +0200)
* add sourceName

* avoid sourceName might not have been initialized

* catch NullPointerException instead of checking for null

* Update JsonMessageEnvelope.java

Co-authored-by: AsamK <asamk@gmx.de>
Fixes #663

src/main/java/org/asamk/signal/json/JsonMessageEnvelope.java

index d58f384312956a37286262282ba8ab2ed4eacf17..40f5ed216f39681166f53ccf73834e63920ae8f8 100644 (file)
@@ -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;
 
@@ -62,6 +66,13 @@ public class JsonMessageEnvelope {
             this.sourceDevice = null;
             this.relay = null;
         }
+        String name;
+        try {
+            name = m.getContactOrProfileName(this.source);
+        } catch (InvalidNumberException | NullPointerException e) {
+            name = null;
+        }
+        this.sourceName = name;
         this.timestamp = envelope.getTimestamp();
         if (envelope.isReceipt()) {
             this.receiptMessage = JsonReceiptMessage.deliveryReceipt(timestamp, List.of(timestamp));
@@ -87,6 +98,7 @@ public class JsonMessageEnvelope {
 
     public JsonMessageEnvelope(Signal.MessageReceived messageReceived) {
         source = messageReceived.getSender();
+        sourceName = null;
         sourceDevice = null;
         relay = null;
         timestamp = messageReceived.getTimestamp();
@@ -99,6 +111,7 @@ public class JsonMessageEnvelope {
 
     public JsonMessageEnvelope(Signal.ReceiptReceived receiptReceived) {
         source = receiptReceived.getSender();
+        sourceName = null;
         sourceDevice = null;
         relay = null;
         timestamp = receiptReceived.getTimestamp();
@@ -111,6 +124,7 @@ public class JsonMessageEnvelope {
 
     public JsonMessageEnvelope(Signal.SyncMessageReceived messageReceived) {
         source = messageReceived.getSource();
+        sourceName = null;
         sourceDevice = null;
         relay = null;
         timestamp = messageReceived.getTimestamp();