JsonReceiptMessage receiptMessage;
public JsonMessageEnvelope(SignalServiceEnvelope envelope, SignalServiceContent content) {
- SignalServiceAddress source = envelope.getSourceAddress();
- this.source = source.getNumber();
+ 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();
+ this.source = content.getSender().getNumber().get();
this.sourceDevice = content.getSenderDevice();
}
if (content.getDataMessage().isPresent()) {