Prevent possible NPE when handling early message content.

This commit is contained in:
Greyson Parrelli 2021-02-25 09:26:03 -05:00
parent fc617fb7a9
commit 5e106bf510

View file

@ -170,14 +170,16 @@ public final class MessageContentProcessor {
if (messageState == MessageState.DECRYPTED_OK) { if (messageState == MessageState.DECRYPTED_OK) {
handleMessage(content, timestamp, optionalSmsMessageId); handleMessage(content, timestamp, optionalSmsMessageId);
Optional<List<SignalServiceContent>> earlyContent = ApplicationDependencies.getEarlyMessageCache() if (content != null) {
.retrieve(Recipient.externalPush(context, content.getSender()).getId(), Optional<List<SignalServiceContent>> earlyContent = ApplicationDependencies.getEarlyMessageCache()
content.getTimestamp()); .retrieve(Recipient.externalPush(context, content.getSender()).getId(),
if (earlyContent.isPresent()) { content.getTimestamp());
log(TAG, String.valueOf(content.getTimestamp()), "Found " + earlyContent.get().size() + " dependent item(s) that were retrieved earlier. Processing."); if (earlyContent.isPresent()) {
log(TAG, String.valueOf(content.getTimestamp()), "Found " + earlyContent.get().size() + " dependent item(s) that were retrieved earlier. Processing.");
for (SignalServiceContent earlyItem : earlyContent.get()) { for (SignalServiceContent earlyItem : earlyContent.get()) {
handleMessage(earlyItem, timestamp, Optional.absent()); handleMessage(earlyItem, timestamp, Optional.absent());
}
} }
} }
} else if (exceptionMetadata != null) { } else if (exceptionMetadata != null) {