diff --git a/libraries/mediaviewer/impl/src/main/kotlin/io/element/android/libraries/mediaviewer/impl/gallery/EventItemFactory.kt b/libraries/mediaviewer/impl/src/main/kotlin/io/element/android/libraries/mediaviewer/impl/gallery/EventItemFactory.kt index 15848d85a1..6b96500149 100644 --- a/libraries/mediaviewer/impl/src/main/kotlin/io/element/android/libraries/mediaviewer/impl/gallery/EventItemFactory.kt +++ b/libraries/mediaviewer/impl/src/main/kotlin/io/element/android/libraries/mediaviewer/impl/gallery/EventItemFactory.kt @@ -8,6 +8,7 @@ package io.element.android.libraries.mediaviewer.impl.gallery import io.element.android.libraries.androidutils.filesize.FileSizeFormatter +import io.element.android.libraries.dateformatter.api.LastMessageTimestampFormatter import io.element.android.libraries.dateformatter.api.toHumanReadableDuration import io.element.android.libraries.matrix.api.timeline.MatrixTimelineItem import io.element.android.libraries.matrix.api.timeline.item.event.AudioMessageType @@ -39,21 +40,18 @@ import io.element.android.libraries.matrix.api.timeline.item.event.getDisambigua import io.element.android.libraries.mediaviewer.api.MediaInfo import io.element.android.libraries.mediaviewer.api.util.FileExtensionExtractor import timber.log.Timber -import java.text.DateFormat -import java.util.Date import javax.inject.Inject class EventItemFactory @Inject constructor( private val fileSizeFormatter: FileSizeFormatter, private val fileExtensionExtractor: FileExtensionExtractor, + private val lastMessageTimestampFormatter: LastMessageTimestampFormatter, ) { - private val timeFormatter = DateFormat.getDateInstance() - fun create( currentTimelineItem: MatrixTimelineItem.Event, ): MediaItem.Event? { val event = currentTimelineItem.event - val sentTime = timeFormatter.format(Date(currentTimelineItem.event.timestamp)) + val sentTime = lastMessageTimestampFormatter.format(currentTimelineItem.event.timestamp) return when (val content = event.content) { CallNotifyContent, is FailedToParseMessageLikeContent, diff --git a/libraries/mediaviewer/impl/src/test/kotlin/io/element/android/libraries/mediaviewer/impl/gallery/DefaultEventItemFactoryTest.kt b/libraries/mediaviewer/impl/src/test/kotlin/io/element/android/libraries/mediaviewer/impl/gallery/DefaultEventItemFactoryTest.kt index 487c30dbbf..3dde8176b4 100644 --- a/libraries/mediaviewer/impl/src/test/kotlin/io/element/android/libraries/mediaviewer/impl/gallery/DefaultEventItemFactoryTest.kt +++ b/libraries/mediaviewer/impl/src/test/kotlin/io/element/android/libraries/mediaviewer/impl/gallery/DefaultEventItemFactoryTest.kt @@ -10,6 +10,8 @@ package io.element.android.libraries.mediaviewer.impl.gallery import com.google.common.truth.Truth.assertThat import io.element.android.libraries.androidutils.filesize.FakeFileSizeFormatter import io.element.android.libraries.core.mimetype.MimeTypes +import io.element.android.libraries.dateformatter.test.A_FORMATTED_DATE +import io.element.android.libraries.dateformatter.test.FakeLastMessageTimestampFormatter import io.element.android.libraries.matrix.api.media.AudioDetails import io.element.android.libraries.matrix.api.media.AudioInfo import io.element.android.libraries.matrix.api.media.FileInfo @@ -160,7 +162,7 @@ class DefaultEventItemFactoryTest { senderId = A_USER_ID, senderName = "alice", senderAvatar = null, - dateSent = "1 Jan 1970", + dateSent = A_FORMATTED_DATE, ), mediaSource = MediaSource(""), ) @@ -207,7 +209,7 @@ class DefaultEventItemFactoryTest { senderId = A_USER_ID, senderName = "alice", senderAvatar = null, - dateSent = "1 Jan 1970", + dateSent = A_FORMATTED_DATE, ), mediaSource = MediaSource(""), thumbnailSource = null, @@ -251,7 +253,7 @@ class DefaultEventItemFactoryTest { senderId = A_USER_ID, senderName = "alice", senderAvatar = null, - dateSent = "1 Jan 1970", + dateSent = A_FORMATTED_DATE, ), mediaSource = MediaSource(""), ) @@ -299,7 +301,7 @@ class DefaultEventItemFactoryTest { senderId = A_USER_ID, senderName = "alice", senderAvatar = null, - dateSent = "1 Jan 1970", + dateSent = A_FORMATTED_DATE, ), mediaSource = MediaSource(""), thumbnailSource = null, @@ -348,7 +350,7 @@ class DefaultEventItemFactoryTest { senderId = A_USER_ID, senderName = "alice", senderAvatar = null, - dateSent = "1 Jan 1970", + dateSent = A_FORMATTED_DATE, ), mediaSource = MediaSource(""), ) @@ -395,7 +397,7 @@ class DefaultEventItemFactoryTest { senderId = A_USER_ID, senderName = "alice", senderAvatar = null, - dateSent = "1 Jan 1970", + dateSent = A_FORMATTED_DATE, ), mediaSource = MediaSource(""), thumbnailSource = null, @@ -407,4 +409,5 @@ class DefaultEventItemFactoryTest { private fun createEventItemFactory() = EventItemFactory( fileSizeFormatter = FakeFileSizeFormatter(), fileExtensionExtractor = FileExtensionExtractorWithoutValidation(), + lastMessageTimestampFormatter = FakeLastMessageTimestampFormatter(A_FORMATTED_DATE), ) diff --git a/libraries/mediaviewer/impl/src/test/kotlin/io/element/android/libraries/mediaviewer/impl/gallery/MediaGalleryPresenterTest.kt b/libraries/mediaviewer/impl/src/test/kotlin/io/element/android/libraries/mediaviewer/impl/gallery/MediaGalleryPresenterTest.kt index ee0a698285..4aeada8701 100644 --- a/libraries/mediaviewer/impl/src/test/kotlin/io/element/android/libraries/mediaviewer/impl/gallery/MediaGalleryPresenterTest.kt +++ b/libraries/mediaviewer/impl/src/test/kotlin/io/element/android/libraries/mediaviewer/impl/gallery/MediaGalleryPresenterTest.kt @@ -10,7 +10,9 @@ package io.element.android.libraries.mediaviewer.impl.gallery import android.net.Uri import com.google.common.truth.Truth.assertThat import io.element.android.libraries.androidutils.filesize.FakeFileSizeFormatter +import io.element.android.libraries.dateformatter.test.A_FORMATTED_DATE import io.element.android.libraries.dateformatter.test.FakeDaySeparatorFormatter +import io.element.android.libraries.dateformatter.test.FakeLastMessageTimestampFormatter import io.element.android.libraries.designsystem.utils.snackbar.SnackbarDispatcher import io.element.android.libraries.matrix.api.core.EventId import io.element.android.libraries.matrix.api.room.MatrixRoom @@ -257,6 +259,7 @@ class MediaGalleryPresenterTest { eventItemFactory = EventItemFactory( fileSizeFormatter = FakeFileSizeFormatter(), fileExtensionExtractor = FileExtensionExtractorWithoutValidation(), + lastMessageTimestampFormatter = FakeLastMessageTimestampFormatter(A_FORMATTED_DATE), ), ), localMediaFactory = localMediaFactory,