From 8037494f7a9a5c352d8caee218bd1198babf31e3 Mon Sep 17 00:00:00 2001 From: Clark Date: Tue, 28 Nov 2023 13:04:06 -0500 Subject: [PATCH] Stop throwing an assertion error when getting attachment TransformationProperties. --- .../securesms/database/AttachmentTable.java | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/org/thoughtcrime/securesms/database/AttachmentTable.java b/app/src/main/java/org/thoughtcrime/securesms/database/AttachmentTable.java index a4263139a7..fd21c68fb1 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/database/AttachmentTable.java +++ b/app/src/main/java/org/thoughtcrime/securesms/database/AttachmentTable.java @@ -945,7 +945,14 @@ public class AttachmentTable extends DatabaseTable { public void markAttachmentAsTransformed(@NonNull AttachmentId attachmentId, boolean withFaststart) { getWritableDatabase().beginTransaction(); try { - TransformProperties transformProperties = getTransformProperties(attachmentId).withSkipTransform(); + TransformProperties transformProperties = getTransformProperties(attachmentId); + + if (transformProperties == null) { + Log.w(TAG, "Failed to get transformation properties, attachment no longer exists."); + return; + } + + transformProperties = transformProperties.withSkipTransform(); if (withFaststart) { transformProperties = transformProperties.withMp4Faststart(); @@ -960,7 +967,10 @@ public class AttachmentTable extends DatabaseTable { } } - public @NonNull TransformProperties getTransformProperties(@NonNull AttachmentId attachmentId) { + /** + * @return null if we fail to find the given attachmentId + */ + public @Nullable TransformProperties getTransformProperties(@NonNull AttachmentId attachmentId) { String[] projection = SqlUtil.buildArgs(TRANSFORM_PROPERTIES); String[] args = attachmentId.toStrings(); @@ -969,7 +979,7 @@ public class AttachmentTable extends DatabaseTable { String serializedProperties = CursorUtil.requireString(cursor, TRANSFORM_PROPERTIES); return TransformProperties.parse(serializedProperties); } else { - throw new AssertionError("No such attachment."); + return null; } } }