diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/media/local/LocalMediaFactory.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/media/local/LocalMediaFactory.kt index 04b2a54757..581461de7f 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/media/local/LocalMediaFactory.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/media/local/LocalMediaFactory.kt @@ -22,7 +22,7 @@ import io.element.android.libraries.matrix.api.media.MediaFile interface LocalMediaFactory { /** - * This method will create a [LocalMedia] with the given [MediaFile] and [mimeType] + * This method will create a [LocalMedia] with the given [MediaFile] and [mimeType]. * */ fun createFromMediaFile(mediaFile: MediaFile, mimeType: String?): LocalMedia diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/media/local/LocalMediaView.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/media/local/LocalMediaView.kt index 2365ac317f..1f3a67a8ec 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/media/local/LocalMediaView.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/media/local/LocalMediaView.kt @@ -74,17 +74,18 @@ private fun MediaImageView( modifier = modifier.fillMaxSize(), contentDescription = null, ) + } else { + val zoomableState = rememberZoomableState( + zoomSpec = ZoomSpec(maxZoomFactor = 3f) + ) + ZoomableAsyncImage( + modifier = modifier.fillMaxSize(), + state = rememberZoomableImageState(zoomableState), + model = localMedia.model, + contentDescription = "Image", + contentScale = ContentScale.Fit, + ) } - val zoomableState = rememberZoomableState( - zoomSpec = ZoomSpec(maxZoomFactor = 3f) - ) - ZoomableAsyncImage( - modifier = modifier.fillMaxSize(), - state = rememberZoomableImageState(zoomableState), - model = localMedia.model, - contentDescription = "Image", - contentScale = ContentScale.Fit, - ) } @UnstableApi diff --git a/features/messages/impl/src/test/kotlin/io/element/android/features/messages/attachments/AttachmentsPreviewPresenterTest.kt b/features/messages/impl/src/test/kotlin/io/element/android/features/messages/attachments/AttachmentsPreviewPresenterTest.kt index 27657bb560..0b16a254a1 100644 --- a/features/messages/impl/src/test/kotlin/io/element/android/features/messages/attachments/AttachmentsPreviewPresenterTest.kt +++ b/features/messages/impl/src/test/kotlin/io/element/android/features/messages/attachments/AttachmentsPreviewPresenterTest.kt @@ -84,7 +84,7 @@ class AttachmentsPreviewPresenterTest { } private fun anAttachmentsPreviewPresenter( - localMedia: LocalMedia = aLocalMedia(MimeTypes.IMAGE_JPEG), + localMedia: LocalMedia = aLocalMedia(mimeType = MimeTypes.IMAGE_JPEG), room: MatrixRoom = FakeMatrixRoom() ): AttachmentsPreviewPresenter { return AttachmentsPreviewPresenter( diff --git a/features/messages/impl/src/test/kotlin/io/element/android/features/messages/fixtures/media.kt b/features/messages/impl/src/test/kotlin/io/element/android/features/messages/fixtures/media.kt index df4aa1f258..ce5847f559 100644 --- a/features/messages/impl/src/test/kotlin/io/element/android/features/messages/fixtures/media.kt +++ b/features/messages/impl/src/test/kotlin/io/element/android/features/messages/fixtures/media.kt @@ -17,13 +17,14 @@ package io.element.android.features.messages.fixtures import android.net.Uri +import androidx.media3.common.MimeTypes import io.element.android.features.messages.impl.attachments.Attachment import io.element.android.features.messages.impl.media.local.LocalMedia import io.mockk.mockk fun aLocalMedia( - mimeType: String, uri: Uri = mockk("localMediaUri"), + mimeType: String = MimeTypes.IMAGE_JPEG, name: String = "a media", size: Long = 1000, ) = LocalMedia( diff --git a/features/messages/impl/src/test/kotlin/io/element/android/features/messages/media/FakeLocalMediaFactory.kt b/features/messages/impl/src/test/kotlin/io/element/android/features/messages/media/FakeLocalMediaFactory.kt index b75eec284a..0382941d87 100644 --- a/features/messages/impl/src/test/kotlin/io/element/android/features/messages/media/FakeLocalMediaFactory.kt +++ b/features/messages/impl/src/test/kotlin/io/element/android/features/messages/media/FakeLocalMediaFactory.kt @@ -23,7 +23,7 @@ import io.element.android.features.messages.impl.media.local.LocalMediaFactory import io.element.android.libraries.core.mimetype.MimeTypes import io.element.android.libraries.matrix.api.media.MediaFile -class FakeLocalMediaFactory() : LocalMediaFactory { +class FakeLocalMediaFactory : LocalMediaFactory { var fallbackMimeType: String = MimeTypes.OctetStream diff --git a/libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/media/MediaSource.kt b/libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/media/MediaSource.kt index fe5217c2c2..170137302b 100644 --- a/libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/media/MediaSource.kt +++ b/libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/media/MediaSource.kt @@ -22,11 +22,11 @@ import kotlinx.parcelize.Parcelize @Parcelize data class MediaSource( /** - * Url of the media + * Url of the media. */ val url: String, /** - * This is used to hold data for encrypted media + * This is used to hold data for encrypted media. */ val json: String? = null, ) : Parcelable diff --git a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/media/MediaHandle.kt b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/media/RustMediaFile.kt similarity index 100% rename from libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/media/MediaHandle.kt rename to libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/media/RustMediaFile.kt