Extract Media and TransformProperties to core/util/models.

This commit is contained in:
Alex Hart
2026-01-20 15:21:27 -04:00
committed by GitHub
parent f505d48d80
commit 471b214b4a
124 changed files with 413 additions and 302 deletions

View File

@@ -1,28 +1,31 @@
package org.thoughtcrime.securesms.database;
import org.junit.Test;
import org.signal.core.models.media.TransformProperties;
import org.thoughtcrime.securesms.mms.SentMediaQuality;
import static org.junit.Assert.assertEquals;
import static org.thoughtcrime.securesms.database.TransformPropertiesUtilKt.parseTransformProperties;
import static org.thoughtcrime.securesms.database.TransformPropertiesUtilKt.serialize;
public class AttachmentDatabaseTransformPropertiesTest {
@Test
public void transformProperties_verifyStructure() {
AttachmentTable.TransformProperties properties = AttachmentTable.TransformProperties.empty();
TransformProperties properties = TransformProperties.empty();
assertEquals("Added transform property, need to confirm default behavior for pre-existing payloads in database",
"{\"skipTransform\":false,\"videoTrim\":false,\"videoTrimStartTimeUs\":0,\"videoTrimEndTimeUs\":0,\"sentMediaQuality\":0,\"mp4Faststart\":false,\"videoEdited\":false}",
properties.serialize());
serialize(properties));
}
@Test
public void transformProperties_verifyMissingSentMediaQualityDefaultBehavior() {
String json = "{\"skipTransform\":false,\"videoTrim\":false,\"videoTrimStartTimeUs\":0,\"videoTrimEndTimeUs\":0,\"videoEdited\":false,\"mp4Faststart\":false}";
AttachmentTable.TransformProperties properties = AttachmentTable.TransformProperties.parse(json);
TransformProperties properties = parseTransformProperties(json);
assertEquals(0, properties.sentMediaQuality);
assertEquals(SentMediaQuality.STANDARD, SentMediaQuality.fromCode(properties.sentMediaQuality));
}
}
}

View File

@@ -12,8 +12,9 @@ import org.junit.Test
import org.junit.runner.RunWith
import org.robolectric.RobolectricTestRunner
import org.robolectric.annotation.Config
import org.signal.core.models.media.Media
import org.signal.core.models.media.TransformProperties
import org.signal.core.util.logging.Log
import org.thoughtcrime.securesms.database.AttachmentTable.TransformProperties
import org.thoughtcrime.securesms.testutil.EmptyLogger
import org.thoughtcrime.securesms.util.MediaUtil

View File

@@ -9,6 +9,7 @@ import org.junit.Test
import org.junit.runner.RunWith
import org.robolectric.RobolectricTestRunner
import org.robolectric.annotation.Config
import org.signal.core.models.media.TransformProperties
import org.thoughtcrime.securesms.attachments.Attachment
import org.thoughtcrime.securesms.attachments.AttachmentId
import org.thoughtcrime.securesms.attachments.DatabaseAttachment
@@ -80,7 +81,7 @@ class UploadDependencyGraphTest {
UriAttachmentBuilder.build(
id = 10,
contentType = MediaUtil.IMAGE_JPEG,
transformProperties = AttachmentTable.TransformProperties(false, true, increment, increment + 1, SentMediaQuality.STANDARD.code, false)
transformProperties = TransformProperties(false, true, increment, increment + 1, SentMediaQuality.STANDARD.code, false)
)
}
@@ -122,7 +123,7 @@ class UploadDependencyGraphTest {
UriAttachmentBuilder.build(
id = 10,
contentType = MediaUtil.IMAGE_JPEG,
transformProperties = if (it != 1) AttachmentTable.TransformProperties(false, true, 1, 2, SentMediaQuality.STANDARD.code, false) else null
transformProperties = if (it != 1) TransformProperties(false, true, 1, 2, SentMediaQuality.STANDARD.code, false) else null
)
}
@@ -182,7 +183,7 @@ class UploadDependencyGraphTest {
UriAttachmentBuilder.build(
1L,
contentType = MediaUtil.IMAGE_JPEG,
transformProperties = AttachmentTable.TransformProperties.forVideoTrim(it.toLong(), it.toLong() + 1)
transformProperties = TransformProperties.forVideoTrim(it.toLong(), it.toLong() + 1)
)
}

View File

@@ -1,6 +1,7 @@
package org.thoughtcrime.securesms.testutil
import android.net.Uri
import org.signal.core.models.media.TransformProperties
import org.thoughtcrime.securesms.attachments.UriAttachment
import org.thoughtcrime.securesms.audio.AudioHash
import org.thoughtcrime.securesms.blurhash.BlurHash
@@ -24,7 +25,7 @@ object UriAttachmentBuilder {
stickerLocator: StickerLocator? = null,
blurHash: BlurHash? = null,
audioHash: AudioHash? = null,
transformProperties: AttachmentTable.TransformProperties? = null
transformProperties: TransformProperties? = null
): UriAttachment {
return UriAttachment(
uri,