- if (!envelope.isUnidentifiedSender() && envelope.hasSourceUuid()) {
- var source = m.resolveSignalServiceAddress(envelope.getSourceAddress());
- this.source = getLegacyIdentifier(source);
- this.sourceNumber = source.getNumber().orNull();
- this.sourceUuid = source.getUuid().toString();
- this.sourceDevice = envelope.getSourceDevice();
- } else if (envelope.isUnidentifiedSender() && content != null) {
- final var source = m.resolveSignalServiceAddress(content.getSender());
- this.source = getLegacyIdentifier(source);
- this.sourceNumber = source.getNumber().orNull();
- this.sourceUuid = source.getUuid().toString();
- this.sourceDevice = content.getSenderDevice();
- } else if (exception instanceof UntrustedIdentityException) {
- var e = (UntrustedIdentityException) exception;
- final var source = m.resolveSignalServiceAddress(e.getSender());
- this.source = getLegacyIdentifier(source);
- this.sourceNumber = source.getNumber().orNull();
- this.sourceUuid = source.getUuid().toString();
- this.sourceDevice = e.getSenderDevice();
+ final String source;
+ final String sourceNumber;
+ final String sourceUuid;
+ final Integer sourceDevice;
+ if (envelope.sourceAddress().isPresent()) {
+ final var sourceAddress = envelope.sourceAddress().get();
+ source = sourceAddress.getLegacyIdentifier();
+ sourceNumber = sourceAddress.getNumber().orElse(null);
+ sourceUuid = sourceAddress.getUuid().map(UUID::toString).orElse(null);
+ sourceDevice = envelope.sourceDevice();
+ } else if (exception instanceof UntrustedIdentityException e) {
+ final var sender = e.getSender();
+ source = sender.getLegacyIdentifier();
+ sourceNumber = sender.getNumber().orElse(null);
+ sourceUuid = sender.getUuid().map(UUID::toString).orElse(null);
+ sourceDevice = e.getSenderDevice();