- if (!envelope.isUnidentifiedSender() && envelope.hasSourceUuid()) {
- final var sourceAddress = m.resolveSignalServiceAddress(envelope.getSourceAddress());
- source = getLegacyIdentifier(sourceAddress);
- sourceNumber = sourceAddress.getNumber().orNull();
- sourceUuid = sourceAddress.getUuid().toString();
- sourceDevice = envelope.getSourceDevice();
- } else if (envelope.isUnidentifiedSender() && content != null) {
- final var sender = m.resolveSignalServiceAddress(content.getSender());
- source = getLegacyIdentifier(sender);
- sourceNumber = sender.getNumber().orNull();
- sourceUuid = sender.getUuid().toString();
- sourceDevice = content.getSenderDevice();
+ 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();