Handle case where GIF fetch fails

pull/25/head
Niels Andriesse 6 years ago
parent e5d82b325d
commit df36d5e539

@ -946,14 +946,14 @@ public class PushDecryptJob extends BaseJob implements InjectableType {
} else { } else {
notifyTypingStoppedFromIncomingMessage(recipient, content.getSender(), content.getSenderDevice()); notifyTypingStoppedFromIncomingMessage(recipient, content.getSender(), content.getSenderDevice());
IncomingTextMessage textMessage = new IncomingTextMessage(Address.fromSerialized(content.getSender()), IncomingTextMessage _textMessage = new IncomingTextMessage(Address.fromSerialized(content.getSender()),
content.getSenderDevice(), content.getSenderDevice(),
message.getTimestamp(), body, message.getTimestamp(), body,
message.getGroupInfo(), message.getGroupInfo(),
message.getExpiresInSeconds() * 1000L, message.getExpiresInSeconds() * 1000L,
content.isNeedsReceipt()); content.isNeedsReceipt());
textMessage = new IncomingEncryptedMessage(textMessage, body); IncomingEncryptedMessage textMessage = new IncomingEncryptedMessage(_textMessage, body);
List<Link> urls = LinkPreviewUtil.findWhitelistedUrls(body); List<Link> urls = LinkPreviewUtil.findWhitelistedUrls(body);
int urlCount = urls.size(); int urlCount = urls.size();
@ -992,25 +992,31 @@ public class PushDecryptJob extends BaseJob implements InjectableType {
// TODO: Handle // TODO: Handle
} }
} else { } else {
// TODO: Handle handleTextMessage(message, textMessage, smsMessageId, messageServerIDOrNull);
} }
})); }));
} else { } else {
Optional<InsertResult> insertResult = database.insertMessageInbox(textMessage); handleTextMessage(message, textMessage, smsMessageId, messageServerIDOrNull);
}
}
}
if (insertResult.isPresent()) threadId = insertResult.get().getThreadId(); private void handleTextMessage(@NonNull SignalServiceDataMessage message, @NonNull IncomingTextMessage textMessage, @NonNull Optional<Long> smsMessageId, @NonNull Optional<Long> messageServerIDOrNull) {
else threadId = null; SmsDatabase database = DatabaseFactory.getSmsDatabase(context);
Optional<InsertResult> insertResult = database.insertMessageInbox(textMessage);
if (smsMessageId.isPresent()) database.deleteMessage(smsMessageId.get()); Long threadId;
if (insertResult.isPresent()) threadId = insertResult.get().getThreadId();
else threadId = null;
// Loki - Store message server ID if (smsMessageId.isPresent()) database.deleteMessage(smsMessageId.get());
updateGroupChatMessageServerID(messageServerIDOrNull, insertResult);
boolean isGroupMessage = message.getGroupInfo().isPresent(); // Loki - Store message server ID
if (threadId != null && !isGroupMessage) { updateGroupChatMessageServerID(messageServerIDOrNull, insertResult);
MessageNotifier.updateNotification(context, threadId);
} boolean isGroupMessage = message.getGroupInfo().isPresent();
} if (threadId != null && !isGroupMessage) {
MessageNotifier.updateNotification(context, threadId);
} }
} }

Loading…
Cancel
Save