X-Git-Url: https://git.nmode.ca/signal-cli/blobdiff_plain/90b752b912db167ef9750843c1abf84188ef2438..1b56485fc8ce1d82d1e5e8aaeca82bcd39bc7c26:/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 2e3018a3..9a275970 100644 --- a/src/main/java/org/asamk/signal/JsonMessageEnvelope.java +++ b/src/main/java/org/asamk/signal/JsonMessageEnvelope.java @@ -17,17 +17,19 @@ class JsonMessageEnvelope { JsonReceiptMessage receiptMessage; public JsonMessageEnvelope(SignalServiceEnvelope envelope, SignalServiceContent content) { - SignalServiceAddress source = envelope.getSourceAddress(); - this.source = source.getNumber(); - this.sourceDevice = envelope.getSourceDevice(); - if (this.source.equals("")) { - this.source = content.getSender(); - this.sourceDevice = content.getSenderDevice(); + if (!envelope.isUnidentifiedSender() && envelope.hasSource()) { + SignalServiceAddress source = envelope.getSourceAddress(); + this.source = source.getNumber().get(); + this.relay = source.getRelay().isPresent() ? source.getRelay().get() : null; } - this.relay = source.getRelay().isPresent() ? source.getRelay().get() : null; + this.sourceDevice = envelope.getSourceDevice(); 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()); }