public CachedMessage cacheMessage(SignalServiceEnvelope envelope, RecipientId recipientId) {
final var now = System.currentTimeMillis();
+ File cacheFile;
+ try {
+ cacheFile = getMessageCacheFile(recipientId, now, envelope.getTimestamp());
+ } catch (IOException e) {
+ logger.warn("Failed to create recipient folder in disk cache: {}", e.getMessage());
+ throw new RuntimeException(e);
+ }
+
+ final var cachedMessage = new CachedMessage(cacheFile, envelope);
try {
- var cacheFile = getMessageCacheFile(recipientId, now, envelope.getTimestamp());
MessageCacheUtils.storeEnvelope(envelope, cacheFile);
- return new CachedMessage(cacheFile, envelope);
+ return cachedMessage;
} catch (IOException e) {
logger.warn("Failed to store encrypted message in disk cache, ignoring: {}", e.getMessage());
- return null;
+ return cachedMessage;
}
}