X-Git-Url: https://git.nmode.ca/signal-cli/blobdiff_plain/209c613e4377c0d9e7a6db4e428a8df0af82745b..2cd6b2b99baf31c24e5e37a367c95c29192fd1ca:/src/main/java/org/asamk/signal/JsonMessageEnvelope.java diff --git a/src/main/java/org/asamk/signal/JsonMessageEnvelope.java b/src/main/java/org/asamk/signal/JsonMessageEnvelope.java index 9484ce2e..9a275970 100644 --- a/src/main/java/org/asamk/signal/JsonMessageEnvelope.java +++ b/src/main/java/org/asamk/signal/JsonMessageEnvelope.java @@ -17,16 +17,19 @@ class JsonMessageEnvelope { JsonReceiptMessage receiptMessage; public JsonMessageEnvelope(SignalServiceEnvelope envelope, SignalServiceContent content) { - SignalServiceAddress source = envelope.getSourceAddress(); - this.source = source.getNumber(); - if (this.source.equals("")) { - this.source = content.getSender(); + if (!envelope.isUnidentifiedSender() && envelope.hasSource()) { + SignalServiceAddress source = envelope.getSourceAddress(); + this.source = source.getNumber().get(); + this.relay = source.getRelay().isPresent() ? source.getRelay().get() : null; } this.sourceDevice = envelope.getSourceDevice(); - this.relay = source.getRelay().isPresent() ? source.getRelay().get() : null; this.timestamp = envelope.getTimestamp(); this.isReceipt = envelope.isReceipt(); if (content != null) { + if (envelope.isUnidentifiedSender()) { + this.source = content.getSender().getNumber().get(); + this.sourceDevice = content.getSenderDevice(); + } if (content.getDataMessage().isPresent()) { this.dataMessage = new JsonDataMessage(content.getDataMessage().get()); }