Move factory method to a dedicated files as they are used by tests also.
This commit is contained in:
parent
5a96406f1a
commit
a668e7e7b1
20 changed files with 162 additions and 180 deletions
|
|
@ -13,15 +13,15 @@ import io.element.android.libraries.designsystem.components.media.aWaveForm
|
||||||
import io.element.android.libraries.matrix.api.core.UniqueId
|
import io.element.android.libraries.matrix.api.core.UniqueId
|
||||||
import io.element.android.libraries.mediaviewer.impl.details.MediaBottomSheetState
|
import io.element.android.libraries.mediaviewer.impl.details.MediaBottomSheetState
|
||||||
import io.element.android.libraries.mediaviewer.impl.details.aMediaDetailsBottomSheetState
|
import io.element.android.libraries.mediaviewer.impl.details.aMediaDetailsBottomSheetState
|
||||||
import io.element.android.libraries.mediaviewer.impl.gallery.ui.aMediaItemAudio
|
|
||||||
import io.element.android.libraries.mediaviewer.impl.gallery.ui.aMediaItemDateSeparator
|
|
||||||
import io.element.android.libraries.mediaviewer.impl.gallery.ui.aMediaItemFile
|
|
||||||
import io.element.android.libraries.mediaviewer.impl.gallery.ui.aMediaItemImage
|
|
||||||
import io.element.android.libraries.mediaviewer.impl.gallery.ui.aMediaItemLoadingIndicator
|
|
||||||
import io.element.android.libraries.mediaviewer.impl.gallery.ui.aMediaItemVideo
|
|
||||||
import io.element.android.libraries.mediaviewer.impl.gallery.ui.aMediaItemVoice
|
|
||||||
import io.element.android.libraries.mediaviewer.impl.model.GroupedMediaItems
|
import io.element.android.libraries.mediaviewer.impl.model.GroupedMediaItems
|
||||||
import io.element.android.libraries.mediaviewer.impl.model.MediaItem
|
import io.element.android.libraries.mediaviewer.impl.model.MediaItem
|
||||||
|
import io.element.android.libraries.mediaviewer.impl.model.aMediaItemAudio
|
||||||
|
import io.element.android.libraries.mediaviewer.impl.model.aMediaItemDateSeparator
|
||||||
|
import io.element.android.libraries.mediaviewer.impl.model.aMediaItemFile
|
||||||
|
import io.element.android.libraries.mediaviewer.impl.model.aMediaItemImage
|
||||||
|
import io.element.android.libraries.mediaviewer.impl.model.aMediaItemLoadingIndicator
|
||||||
|
import io.element.android.libraries.mediaviewer.impl.model.aMediaItemVideo
|
||||||
|
import io.element.android.libraries.mediaviewer.impl.model.aMediaItemVoice
|
||||||
import kotlinx.collections.immutable.toImmutableList
|
import kotlinx.collections.immutable.toImmutableList
|
||||||
|
|
||||||
open class MediaGalleryStateProvider : PreviewParameterProvider<MediaGalleryState> {
|
open class MediaGalleryStateProvider : PreviewParameterProvider<MediaGalleryState> {
|
||||||
|
|
|
||||||
|
|
@ -29,6 +29,7 @@ import io.element.android.compound.theme.ElementTheme
|
||||||
import io.element.android.libraries.designsystem.preview.ElementPreview
|
import io.element.android.libraries.designsystem.preview.ElementPreview
|
||||||
import io.element.android.libraries.designsystem.preview.PreviewsDayNight
|
import io.element.android.libraries.designsystem.preview.PreviewsDayNight
|
||||||
import io.element.android.libraries.mediaviewer.impl.model.MediaItem
|
import io.element.android.libraries.mediaviewer.impl.model.MediaItem
|
||||||
|
import io.element.android.libraries.mediaviewer.impl.model.aMediaItemImage
|
||||||
|
|
||||||
@OptIn(ExperimentalFoundationApi::class)
|
@OptIn(ExperimentalFoundationApi::class)
|
||||||
@Composable
|
@Composable
|
||||||
|
|
|
||||||
|
|
@ -9,11 +9,8 @@ package io.element.android.libraries.mediaviewer.impl.gallery.ui
|
||||||
|
|
||||||
import androidx.compose.ui.tooling.preview.PreviewParameterProvider
|
import androidx.compose.ui.tooling.preview.PreviewParameterProvider
|
||||||
import io.element.android.libraries.core.preview.loremIpsum
|
import io.element.android.libraries.core.preview.loremIpsum
|
||||||
import io.element.android.libraries.matrix.api.core.EventId
|
|
||||||
import io.element.android.libraries.matrix.api.core.UniqueId
|
|
||||||
import io.element.android.libraries.matrix.api.media.MediaSource
|
|
||||||
import io.element.android.libraries.mediaviewer.api.anAudioMediaInfo
|
|
||||||
import io.element.android.libraries.mediaviewer.impl.model.MediaItem
|
import io.element.android.libraries.mediaviewer.impl.model.MediaItem
|
||||||
|
import io.element.android.libraries.mediaviewer.impl.model.aMediaItemAudio
|
||||||
|
|
||||||
class MediaItemAudioProvider : PreviewParameterProvider<MediaItem.Audio> {
|
class MediaItemAudioProvider : PreviewParameterProvider<MediaItem.Audio> {
|
||||||
override val values: Sequence<MediaItem.Audio>
|
override val values: Sequence<MediaItem.Audio>
|
||||||
|
|
@ -28,20 +25,3 @@ class MediaItemAudioProvider : PreviewParameterProvider<MediaItem.Audio> {
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
fun aMediaItemAudio(
|
|
||||||
id: UniqueId = UniqueId("fileId"),
|
|
||||||
eventId: EventId? = null,
|
|
||||||
filename: String = "filename",
|
|
||||||
caption: String? = null,
|
|
||||||
): MediaItem.Audio {
|
|
||||||
return MediaItem.Audio(
|
|
||||||
id = id,
|
|
||||||
eventId = eventId,
|
|
||||||
mediaInfo = anAudioMediaInfo(
|
|
||||||
filename = filename,
|
|
||||||
caption = caption,
|
|
||||||
),
|
|
||||||
mediaSource = MediaSource(""),
|
|
||||||
)
|
|
||||||
}
|
|
||||||
|
|
|
||||||
|
|
@ -8,8 +8,8 @@
|
||||||
package io.element.android.libraries.mediaviewer.impl.gallery.ui
|
package io.element.android.libraries.mediaviewer.impl.gallery.ui
|
||||||
|
|
||||||
import androidx.compose.ui.tooling.preview.PreviewParameterProvider
|
import androidx.compose.ui.tooling.preview.PreviewParameterProvider
|
||||||
import io.element.android.libraries.matrix.api.core.UniqueId
|
|
||||||
import io.element.android.libraries.mediaviewer.impl.model.MediaItem
|
import io.element.android.libraries.mediaviewer.impl.model.MediaItem
|
||||||
|
import io.element.android.libraries.mediaviewer.impl.model.aMediaItemDateSeparator
|
||||||
|
|
||||||
class MediaItemDateSeparatorProvider : PreviewParameterProvider<MediaItem.DateSeparator> {
|
class MediaItemDateSeparatorProvider : PreviewParameterProvider<MediaItem.DateSeparator> {
|
||||||
override val values: Sequence<MediaItem.DateSeparator>
|
override val values: Sequence<MediaItem.DateSeparator>
|
||||||
|
|
@ -18,13 +18,3 @@ class MediaItemDateSeparatorProvider : PreviewParameterProvider<MediaItem.DateSe
|
||||||
aMediaItemDateSeparator(formattedDate = "A long date that should be truncated"),
|
aMediaItemDateSeparator(formattedDate = "A long date that should be truncated"),
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
fun aMediaItemDateSeparator(
|
|
||||||
id: UniqueId = UniqueId("dateId"),
|
|
||||||
formattedDate: String = "October 2024",
|
|
||||||
): MediaItem.DateSeparator {
|
|
||||||
return MediaItem.DateSeparator(
|
|
||||||
id = id,
|
|
||||||
formattedDate = formattedDate,
|
|
||||||
)
|
|
||||||
}
|
|
||||||
|
|
|
||||||
|
|
@ -9,11 +9,8 @@ package io.element.android.libraries.mediaviewer.impl.gallery.ui
|
||||||
|
|
||||||
import androidx.compose.ui.tooling.preview.PreviewParameterProvider
|
import androidx.compose.ui.tooling.preview.PreviewParameterProvider
|
||||||
import io.element.android.libraries.core.preview.loremIpsum
|
import io.element.android.libraries.core.preview.loremIpsum
|
||||||
import io.element.android.libraries.matrix.api.core.EventId
|
|
||||||
import io.element.android.libraries.matrix.api.core.UniqueId
|
|
||||||
import io.element.android.libraries.matrix.api.media.MediaSource
|
|
||||||
import io.element.android.libraries.mediaviewer.api.aPdfMediaInfo
|
|
||||||
import io.element.android.libraries.mediaviewer.impl.model.MediaItem
|
import io.element.android.libraries.mediaviewer.impl.model.MediaItem
|
||||||
|
import io.element.android.libraries.mediaviewer.impl.model.aMediaItemFile
|
||||||
|
|
||||||
class MediaItemFileProvider : PreviewParameterProvider<MediaItem.File> {
|
class MediaItemFileProvider : PreviewParameterProvider<MediaItem.File> {
|
||||||
override val values: Sequence<MediaItem.File>
|
override val values: Sequence<MediaItem.File>
|
||||||
|
|
@ -28,20 +25,3 @@ class MediaItemFileProvider : PreviewParameterProvider<MediaItem.File> {
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
fun aMediaItemFile(
|
|
||||||
id: UniqueId = UniqueId("fileId"),
|
|
||||||
eventId: EventId? = null,
|
|
||||||
filename: String = "filename",
|
|
||||||
caption: String? = null,
|
|
||||||
): MediaItem.File {
|
|
||||||
return MediaItem.File(
|
|
||||||
id = id,
|
|
||||||
eventId = eventId,
|
|
||||||
mediaInfo = aPdfMediaInfo(
|
|
||||||
filename = filename,
|
|
||||||
caption = caption,
|
|
||||||
),
|
|
||||||
mediaSource = MediaSource(""),
|
|
||||||
)
|
|
||||||
}
|
|
||||||
|
|
|
||||||
|
|
@ -1,32 +0,0 @@
|
||||||
/*
|
|
||||||
* Copyright 2024 New Vector Ltd.
|
|
||||||
*
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial
|
|
||||||
* Please see LICENSE files in the repository root for full details.
|
|
||||||
*/
|
|
||||||
|
|
||||||
package io.element.android.libraries.mediaviewer.impl.gallery.ui
|
|
||||||
|
|
||||||
import io.element.android.libraries.matrix.api.core.EventId
|
|
||||||
import io.element.android.libraries.matrix.api.core.UniqueId
|
|
||||||
import io.element.android.libraries.matrix.api.core.UserId
|
|
||||||
import io.element.android.libraries.matrix.api.media.MediaSource
|
|
||||||
import io.element.android.libraries.mediaviewer.api.anImageMediaInfo
|
|
||||||
import io.element.android.libraries.mediaviewer.impl.model.MediaItem
|
|
||||||
|
|
||||||
fun aMediaItemImage(
|
|
||||||
id: UniqueId = UniqueId("imageId"),
|
|
||||||
eventId: EventId? = null,
|
|
||||||
senderId: UserId? = null,
|
|
||||||
mediaSourceUrl: String = "",
|
|
||||||
): MediaItem.Image {
|
|
||||||
return MediaItem.Image(
|
|
||||||
id = id,
|
|
||||||
eventId = eventId,
|
|
||||||
mediaInfo = anImageMediaInfo(
|
|
||||||
senderId = senderId,
|
|
||||||
),
|
|
||||||
mediaSource = MediaSource(mediaSourceUrl),
|
|
||||||
thumbnailSource = null,
|
|
||||||
)
|
|
||||||
}
|
|
||||||
|
|
@ -1,23 +0,0 @@
|
||||||
/*
|
|
||||||
* Copyright 2024 New Vector Ltd.
|
|
||||||
*
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial
|
|
||||||
* Please see LICENSE files in the repository root for full details.
|
|
||||||
*/
|
|
||||||
|
|
||||||
package io.element.android.libraries.mediaviewer.impl.gallery.ui
|
|
||||||
|
|
||||||
import io.element.android.libraries.matrix.api.core.UniqueId
|
|
||||||
import io.element.android.libraries.matrix.api.timeline.Timeline
|
|
||||||
import io.element.android.libraries.mediaviewer.impl.model.MediaItem
|
|
||||||
|
|
||||||
fun aMediaItemLoadingIndicator(
|
|
||||||
id: UniqueId = UniqueId("loadingId"),
|
|
||||||
direction: Timeline.PaginationDirection = Timeline.PaginationDirection.BACKWARDS,
|
|
||||||
): MediaItem.LoadingIndicator {
|
|
||||||
return MediaItem.LoadingIndicator(
|
|
||||||
id = id,
|
|
||||||
direction = direction,
|
|
||||||
timestamp = 123,
|
|
||||||
)
|
|
||||||
}
|
|
||||||
|
|
@ -8,10 +8,8 @@
|
||||||
package io.element.android.libraries.mediaviewer.impl.gallery.ui
|
package io.element.android.libraries.mediaviewer.impl.gallery.ui
|
||||||
|
|
||||||
import androidx.compose.ui.tooling.preview.PreviewParameterProvider
|
import androidx.compose.ui.tooling.preview.PreviewParameterProvider
|
||||||
import io.element.android.libraries.matrix.api.core.UniqueId
|
|
||||||
import io.element.android.libraries.matrix.api.media.MediaSource
|
|
||||||
import io.element.android.libraries.mediaviewer.api.aVideoMediaInfo
|
|
||||||
import io.element.android.libraries.mediaviewer.impl.model.MediaItem
|
import io.element.android.libraries.mediaviewer.impl.model.MediaItem
|
||||||
|
import io.element.android.libraries.mediaviewer.impl.model.aMediaItemVideo
|
||||||
|
|
||||||
class MediaItemVideoProvider : PreviewParameterProvider<MediaItem.Video> {
|
class MediaItemVideoProvider : PreviewParameterProvider<MediaItem.Video> {
|
||||||
override val values: Sequence<MediaItem.Video>
|
override val values: Sequence<MediaItem.Video>
|
||||||
|
|
@ -22,19 +20,3 @@ class MediaItemVideoProvider : PreviewParameterProvider<MediaItem.Video> {
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
fun aMediaItemVideo(
|
|
||||||
id: UniqueId = UniqueId("videoId"),
|
|
||||||
mediaSource: MediaSource = MediaSource(""),
|
|
||||||
duration: String? = "1:23",
|
|
||||||
): MediaItem.Video {
|
|
||||||
return MediaItem.Video(
|
|
||||||
id = id,
|
|
||||||
eventId = null,
|
|
||||||
mediaInfo = aVideoMediaInfo(
|
|
||||||
duration = duration
|
|
||||||
),
|
|
||||||
mediaSource = mediaSource,
|
|
||||||
thumbnailSource = null,
|
|
||||||
)
|
|
||||||
}
|
|
||||||
|
|
|
||||||
|
|
@ -9,11 +9,8 @@ package io.element.android.libraries.mediaviewer.impl.gallery.ui
|
||||||
|
|
||||||
import androidx.compose.ui.tooling.preview.PreviewParameterProvider
|
import androidx.compose.ui.tooling.preview.PreviewParameterProvider
|
||||||
import io.element.android.libraries.core.preview.loremIpsum
|
import io.element.android.libraries.core.preview.loremIpsum
|
||||||
import io.element.android.libraries.designsystem.components.media.aWaveForm
|
|
||||||
import io.element.android.libraries.matrix.api.core.UniqueId
|
|
||||||
import io.element.android.libraries.matrix.api.media.MediaSource
|
|
||||||
import io.element.android.libraries.mediaviewer.api.aVoiceMediaInfo
|
|
||||||
import io.element.android.libraries.mediaviewer.impl.model.MediaItem
|
import io.element.android.libraries.mediaviewer.impl.model.MediaItem
|
||||||
|
import io.element.android.libraries.mediaviewer.impl.model.aMediaItemVoice
|
||||||
|
|
||||||
class MediaItemVoiceProvider : PreviewParameterProvider<MediaItem.Voice> {
|
class MediaItemVoiceProvider : PreviewParameterProvider<MediaItem.Voice> {
|
||||||
override val values: Sequence<MediaItem.Voice>
|
override val values: Sequence<MediaItem.Voice>
|
||||||
|
|
@ -31,23 +28,3 @@ class MediaItemVoiceProvider : PreviewParameterProvider<MediaItem.Voice> {
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
fun aMediaItemVoice(
|
|
||||||
id: UniqueId = UniqueId("fileId"),
|
|
||||||
filename: String = "filename.ogg",
|
|
||||||
caption: String? = null,
|
|
||||||
duration: String? = "1:23",
|
|
||||||
waveform: List<Float> = aWaveForm(),
|
|
||||||
): MediaItem.Voice {
|
|
||||||
return MediaItem.Voice(
|
|
||||||
id = id,
|
|
||||||
eventId = null,
|
|
||||||
mediaInfo = aVoiceMediaInfo(
|
|
||||||
filename = filename,
|
|
||||||
caption = caption,
|
|
||||||
duration = duration,
|
|
||||||
waveForm = waveform,
|
|
||||||
),
|
|
||||||
mediaSource = MediaSource(""),
|
|
||||||
)
|
|
||||||
}
|
|
||||||
|
|
|
||||||
|
|
@ -47,6 +47,7 @@ import io.element.android.libraries.designsystem.theme.components.Icon
|
||||||
import io.element.android.libraries.designsystem.theme.components.IconButton
|
import io.element.android.libraries.designsystem.theme.components.IconButton
|
||||||
import io.element.android.libraries.designsystem.theme.components.Text
|
import io.element.android.libraries.designsystem.theme.components.Text
|
||||||
import io.element.android.libraries.mediaviewer.impl.model.MediaItem
|
import io.element.android.libraries.mediaviewer.impl.model.MediaItem
|
||||||
|
import io.element.android.libraries.mediaviewer.impl.model.aMediaItemVoice
|
||||||
import io.element.android.libraries.ui.strings.CommonStrings
|
import io.element.android.libraries.ui.strings.CommonStrings
|
||||||
import io.element.android.libraries.voiceplayer.api.VoiceMessageEvents
|
import io.element.android.libraries.voiceplayer.api.VoiceMessageEvents
|
||||||
import io.element.android.libraries.voiceplayer.api.VoiceMessageState
|
import io.element.android.libraries.voiceplayer.api.VoiceMessageState
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,128 @@
|
||||||
|
/*
|
||||||
|
* Copyright 2025 New Vector Ltd.
|
||||||
|
*
|
||||||
|
* SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial
|
||||||
|
* Please see LICENSE files in the repository root for full details.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package io.element.android.libraries.mediaviewer.impl.model
|
||||||
|
|
||||||
|
import io.element.android.libraries.designsystem.components.media.aWaveForm
|
||||||
|
import io.element.android.libraries.matrix.api.core.EventId
|
||||||
|
import io.element.android.libraries.matrix.api.core.UniqueId
|
||||||
|
import io.element.android.libraries.matrix.api.core.UserId
|
||||||
|
import io.element.android.libraries.matrix.api.media.MediaSource
|
||||||
|
import io.element.android.libraries.matrix.api.timeline.Timeline
|
||||||
|
import io.element.android.libraries.mediaviewer.api.aPdfMediaInfo
|
||||||
|
import io.element.android.libraries.mediaviewer.api.aVideoMediaInfo
|
||||||
|
import io.element.android.libraries.mediaviewer.api.aVoiceMediaInfo
|
||||||
|
import io.element.android.libraries.mediaviewer.api.anAudioMediaInfo
|
||||||
|
import io.element.android.libraries.mediaviewer.api.anImageMediaInfo
|
||||||
|
|
||||||
|
fun aMediaItemImage(
|
||||||
|
id: UniqueId = UniqueId("imageId"),
|
||||||
|
eventId: EventId? = null,
|
||||||
|
senderId: UserId? = null,
|
||||||
|
mediaSourceUrl: String = "",
|
||||||
|
): MediaItem.Image {
|
||||||
|
return MediaItem.Image(
|
||||||
|
id = id,
|
||||||
|
eventId = eventId,
|
||||||
|
mediaInfo = anImageMediaInfo(
|
||||||
|
senderId = senderId,
|
||||||
|
),
|
||||||
|
mediaSource = MediaSource(mediaSourceUrl),
|
||||||
|
thumbnailSource = null,
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
fun aMediaItemVideo(
|
||||||
|
id: UniqueId = UniqueId("videoId"),
|
||||||
|
mediaSource: MediaSource = MediaSource(""),
|
||||||
|
duration: String? = "1:23",
|
||||||
|
): MediaItem.Video {
|
||||||
|
return MediaItem.Video(
|
||||||
|
id = id,
|
||||||
|
eventId = null,
|
||||||
|
mediaInfo = aVideoMediaInfo(
|
||||||
|
duration = duration
|
||||||
|
),
|
||||||
|
mediaSource = mediaSource,
|
||||||
|
thumbnailSource = null,
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
fun aMediaItemFile(
|
||||||
|
id: UniqueId = UniqueId("fileId"),
|
||||||
|
eventId: EventId? = null,
|
||||||
|
filename: String = "filename",
|
||||||
|
caption: String? = null,
|
||||||
|
): MediaItem.File {
|
||||||
|
return MediaItem.File(
|
||||||
|
id = id,
|
||||||
|
eventId = eventId,
|
||||||
|
mediaInfo = aPdfMediaInfo(
|
||||||
|
filename = filename,
|
||||||
|
caption = caption,
|
||||||
|
),
|
||||||
|
mediaSource = MediaSource(""),
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
fun aMediaItemAudio(
|
||||||
|
id: UniqueId = UniqueId("fileId"),
|
||||||
|
eventId: EventId? = null,
|
||||||
|
filename: String = "filename",
|
||||||
|
caption: String? = null,
|
||||||
|
): MediaItem.Audio {
|
||||||
|
return MediaItem.Audio(
|
||||||
|
id = id,
|
||||||
|
eventId = eventId,
|
||||||
|
mediaInfo = anAudioMediaInfo(
|
||||||
|
filename = filename,
|
||||||
|
caption = caption,
|
||||||
|
),
|
||||||
|
mediaSource = MediaSource(""),
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
fun aMediaItemVoice(
|
||||||
|
id: UniqueId = UniqueId("fileId"),
|
||||||
|
filename: String = "filename.ogg",
|
||||||
|
caption: String? = null,
|
||||||
|
duration: String? = "1:23",
|
||||||
|
waveform: List<Float> = aWaveForm(),
|
||||||
|
): MediaItem.Voice {
|
||||||
|
return MediaItem.Voice(
|
||||||
|
id = id,
|
||||||
|
eventId = null,
|
||||||
|
mediaInfo = aVoiceMediaInfo(
|
||||||
|
filename = filename,
|
||||||
|
caption = caption,
|
||||||
|
duration = duration,
|
||||||
|
waveForm = waveform,
|
||||||
|
),
|
||||||
|
mediaSource = MediaSource(""),
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
fun aMediaItemDateSeparator(
|
||||||
|
id: UniqueId = UniqueId("dateId"),
|
||||||
|
formattedDate: String = "October 2024",
|
||||||
|
): MediaItem.DateSeparator {
|
||||||
|
return MediaItem.DateSeparator(
|
||||||
|
id = id,
|
||||||
|
formattedDate = formattedDate,
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
fun aMediaItemLoadingIndicator(
|
||||||
|
id: UniqueId = UniqueId("loadingId"),
|
||||||
|
direction: Timeline.PaginationDirection = Timeline.PaginationDirection.BACKWARDS,
|
||||||
|
): MediaItem.LoadingIndicator {
|
||||||
|
return MediaItem.LoadingIndicator(
|
||||||
|
id = id,
|
||||||
|
direction = direction,
|
||||||
|
timestamp = 123,
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
@ -10,7 +10,7 @@ package io.element.android.libraries.mediaviewer.impl.datasource
|
||||||
import com.google.common.truth.Truth.assertThat
|
import com.google.common.truth.Truth.assertThat
|
||||||
import io.element.android.libraries.matrix.test.AN_EVENT_ID
|
import io.element.android.libraries.matrix.test.AN_EVENT_ID
|
||||||
import io.element.android.libraries.matrix.test.room.FakeMatrixRoom
|
import io.element.android.libraries.matrix.test.room.FakeMatrixRoom
|
||||||
import io.element.android.libraries.mediaviewer.impl.gallery.ui.aMediaItemImage
|
import io.element.android.libraries.mediaviewer.impl.model.aMediaItemImage
|
||||||
import kotlinx.coroutines.test.runTest
|
import kotlinx.coroutines.test.runTest
|
||||||
import org.junit.Test
|
import org.junit.Test
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -14,9 +14,9 @@ import io.element.android.libraries.matrix.api.timeline.Timeline
|
||||||
import io.element.android.libraries.matrix.test.AN_EVENT_ID
|
import io.element.android.libraries.matrix.test.AN_EVENT_ID
|
||||||
import io.element.android.libraries.matrix.test.room.FakeMatrixRoom
|
import io.element.android.libraries.matrix.test.room.FakeMatrixRoom
|
||||||
import io.element.android.libraries.matrix.test.timeline.FakeTimeline
|
import io.element.android.libraries.matrix.test.timeline.FakeTimeline
|
||||||
import io.element.android.libraries.mediaviewer.impl.gallery.ui.aMediaItemImage
|
|
||||||
import io.element.android.libraries.mediaviewer.impl.model.GroupedMediaItems
|
import io.element.android.libraries.mediaviewer.impl.model.GroupedMediaItems
|
||||||
import io.element.android.libraries.mediaviewer.impl.model.MediaItem
|
import io.element.android.libraries.mediaviewer.impl.model.MediaItem
|
||||||
|
import io.element.android.libraries.mediaviewer.impl.model.aMediaItemImage
|
||||||
import io.element.android.tests.testutils.lambda.lambdaRecorder
|
import io.element.android.tests.testutils.lambda.lambdaRecorder
|
||||||
import io.element.android.tests.testutils.lambda.value
|
import io.element.android.tests.testutils.lambda.value
|
||||||
import kotlinx.collections.immutable.persistentListOf
|
import kotlinx.collections.immutable.persistentListOf
|
||||||
|
|
|
||||||
|
|
@ -9,15 +9,15 @@ package io.element.android.libraries.mediaviewer.impl.datasource
|
||||||
|
|
||||||
import com.google.common.truth.Truth.assertThat
|
import com.google.common.truth.Truth.assertThat
|
||||||
import io.element.android.libraries.matrix.api.core.UniqueId
|
import io.element.android.libraries.matrix.api.core.UniqueId
|
||||||
import io.element.android.libraries.mediaviewer.impl.gallery.ui.aMediaItemAudio
|
|
||||||
import io.element.android.libraries.mediaviewer.impl.gallery.ui.aMediaItemDateSeparator
|
|
||||||
import io.element.android.libraries.mediaviewer.impl.gallery.ui.aMediaItemFile
|
|
||||||
import io.element.android.libraries.mediaviewer.impl.gallery.ui.aMediaItemImage
|
|
||||||
import io.element.android.libraries.mediaviewer.impl.gallery.ui.aMediaItemLoadingIndicator
|
|
||||||
import io.element.android.libraries.mediaviewer.impl.gallery.ui.aMediaItemVideo
|
|
||||||
import io.element.android.libraries.mediaviewer.impl.gallery.ui.aMediaItemVoice
|
|
||||||
import io.element.android.libraries.mediaviewer.impl.model.GroupedMediaItems
|
import io.element.android.libraries.mediaviewer.impl.model.GroupedMediaItems
|
||||||
import io.element.android.libraries.mediaviewer.impl.model.MediaItem
|
import io.element.android.libraries.mediaviewer.impl.model.MediaItem
|
||||||
|
import io.element.android.libraries.mediaviewer.impl.model.aMediaItemAudio
|
||||||
|
import io.element.android.libraries.mediaviewer.impl.model.aMediaItemDateSeparator
|
||||||
|
import io.element.android.libraries.mediaviewer.impl.model.aMediaItemFile
|
||||||
|
import io.element.android.libraries.mediaviewer.impl.model.aMediaItemImage
|
||||||
|
import io.element.android.libraries.mediaviewer.impl.model.aMediaItemLoadingIndicator
|
||||||
|
import io.element.android.libraries.mediaviewer.impl.model.aMediaItemVideo
|
||||||
|
import io.element.android.libraries.mediaviewer.impl.model.aMediaItemVoice
|
||||||
import kotlinx.collections.immutable.toImmutableList
|
import kotlinx.collections.immutable.toImmutableList
|
||||||
import org.junit.Test
|
import org.junit.Test
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -24,7 +24,7 @@ import io.element.android.libraries.matrix.test.timeline.FakeTimeline
|
||||||
import io.element.android.libraries.mediaviewer.impl.datasource.FakeMediaGalleryDataSource
|
import io.element.android.libraries.mediaviewer.impl.datasource.FakeMediaGalleryDataSource
|
||||||
import io.element.android.libraries.mediaviewer.impl.datasource.MediaGalleryDataSource
|
import io.element.android.libraries.mediaviewer.impl.datasource.MediaGalleryDataSource
|
||||||
import io.element.android.libraries.mediaviewer.impl.details.MediaBottomSheetState
|
import io.element.android.libraries.mediaviewer.impl.details.MediaBottomSheetState
|
||||||
import io.element.android.libraries.mediaviewer.impl.gallery.ui.aMediaItemImage
|
import io.element.android.libraries.mediaviewer.impl.model.aMediaItemImage
|
||||||
import io.element.android.libraries.mediaviewer.test.FakeLocalMediaActions
|
import io.element.android.libraries.mediaviewer.test.FakeLocalMediaActions
|
||||||
import io.element.android.libraries.mediaviewer.test.FakeLocalMediaFactory
|
import io.element.android.libraries.mediaviewer.test.FakeLocalMediaFactory
|
||||||
import io.element.android.tests.testutils.WarmUpRule
|
import io.element.android.tests.testutils.WarmUpRule
|
||||||
|
|
|
||||||
|
|
@ -11,8 +11,6 @@ import com.google.common.truth.Truth.assertThat
|
||||||
import io.element.android.libraries.matrix.test.AN_EVENT_ID
|
import io.element.android.libraries.matrix.test.AN_EVENT_ID
|
||||||
import io.element.android.libraries.matrix.test.AN_EVENT_ID_2
|
import io.element.android.libraries.matrix.test.AN_EVENT_ID_2
|
||||||
import io.element.android.libraries.matrix.test.AN_EVENT_ID_3
|
import io.element.android.libraries.matrix.test.AN_EVENT_ID_3
|
||||||
import io.element.android.libraries.mediaviewer.impl.gallery.ui.aMediaItemAudio
|
|
||||||
import io.element.android.libraries.mediaviewer.impl.gallery.ui.aMediaItemImage
|
|
||||||
import kotlinx.collections.immutable.persistentListOf
|
import kotlinx.collections.immutable.persistentListOf
|
||||||
import org.junit.Test
|
import org.junit.Test
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -22,10 +22,10 @@ import io.element.android.libraries.mediaviewer.api.local.LocalMediaFactory
|
||||||
import io.element.android.libraries.mediaviewer.impl.datasource.FakeMediaGalleryDataSource
|
import io.element.android.libraries.mediaviewer.impl.datasource.FakeMediaGalleryDataSource
|
||||||
import io.element.android.libraries.mediaviewer.impl.datasource.MediaGalleryDataSource
|
import io.element.android.libraries.mediaviewer.impl.datasource.MediaGalleryDataSource
|
||||||
import io.element.android.libraries.mediaviewer.impl.gallery.aGroupedMediaItems
|
import io.element.android.libraries.mediaviewer.impl.gallery.aGroupedMediaItems
|
||||||
import io.element.android.libraries.mediaviewer.impl.gallery.ui.aMediaItemDateSeparator
|
import io.element.android.libraries.mediaviewer.impl.model.aMediaItemDateSeparator
|
||||||
import io.element.android.libraries.mediaviewer.impl.gallery.ui.aMediaItemFile
|
import io.element.android.libraries.mediaviewer.impl.model.aMediaItemFile
|
||||||
import io.element.android.libraries.mediaviewer.impl.gallery.ui.aMediaItemImage
|
import io.element.android.libraries.mediaviewer.impl.model.aMediaItemImage
|
||||||
import io.element.android.libraries.mediaviewer.impl.gallery.ui.aMediaItemLoadingIndicator
|
import io.element.android.libraries.mediaviewer.impl.model.aMediaItemLoadingIndicator
|
||||||
import io.element.android.libraries.mediaviewer.test.FakeLocalMediaFactory
|
import io.element.android.libraries.mediaviewer.test.FakeLocalMediaFactory
|
||||||
import io.element.android.services.toolbox.test.systemclock.A_FAKE_TIMESTAMP
|
import io.element.android.services.toolbox.test.systemclock.A_FAKE_TIMESTAMP
|
||||||
import io.element.android.services.toolbox.test.systemclock.FakeSystemClock
|
import io.element.android.services.toolbox.test.systemclock.FakeSystemClock
|
||||||
|
|
|
||||||
|
|
@ -32,9 +32,9 @@ import io.element.android.libraries.mediaviewer.impl.R
|
||||||
import io.element.android.libraries.mediaviewer.impl.datasource.FakeMediaGalleryDataSource
|
import io.element.android.libraries.mediaviewer.impl.datasource.FakeMediaGalleryDataSource
|
||||||
import io.element.android.libraries.mediaviewer.impl.datasource.MediaGalleryDataSource
|
import io.element.android.libraries.mediaviewer.impl.datasource.MediaGalleryDataSource
|
||||||
import io.element.android.libraries.mediaviewer.impl.details.MediaBottomSheetState
|
import io.element.android.libraries.mediaviewer.impl.details.MediaBottomSheetState
|
||||||
import io.element.android.libraries.mediaviewer.impl.gallery.ui.aMediaItemImage
|
|
||||||
import io.element.android.libraries.mediaviewer.impl.gallery.ui.aMediaItemLoadingIndicator
|
|
||||||
import io.element.android.libraries.mediaviewer.impl.model.GroupedMediaItems
|
import io.element.android.libraries.mediaviewer.impl.model.GroupedMediaItems
|
||||||
|
import io.element.android.libraries.mediaviewer.impl.model.aMediaItemImage
|
||||||
|
import io.element.android.libraries.mediaviewer.impl.model.aMediaItemLoadingIndicator
|
||||||
import io.element.android.libraries.mediaviewer.test.FakeLocalMediaActions
|
import io.element.android.libraries.mediaviewer.test.FakeLocalMediaActions
|
||||||
import io.element.android.libraries.mediaviewer.test.FakeLocalMediaFactory
|
import io.element.android.libraries.mediaviewer.test.FakeLocalMediaFactory
|
||||||
import io.element.android.services.toolbox.test.systemclock.FakeSystemClock
|
import io.element.android.services.toolbox.test.systemclock.FakeSystemClock
|
||||||
|
|
|
||||||
|
|
@ -11,8 +11,8 @@ import com.google.common.truth.Truth.assertThat
|
||||||
import io.element.android.libraries.matrix.api.timeline.Timeline
|
import io.element.android.libraries.matrix.api.timeline.Timeline
|
||||||
import io.element.android.libraries.matrix.test.AN_EVENT_ID
|
import io.element.android.libraries.matrix.test.AN_EVENT_ID
|
||||||
import io.element.android.libraries.matrix.test.AN_EVENT_ID_2
|
import io.element.android.libraries.matrix.test.AN_EVENT_ID_2
|
||||||
import io.element.android.libraries.mediaviewer.impl.gallery.ui.aMediaItemImage
|
import io.element.android.libraries.mediaviewer.impl.model.aMediaItemImage
|
||||||
import io.element.android.libraries.mediaviewer.impl.gallery.ui.aMediaItemLoadingIndicator
|
import io.element.android.libraries.mediaviewer.impl.model.aMediaItemLoadingIndicator
|
||||||
import org.junit.Test
|
import org.junit.Test
|
||||||
|
|
||||||
class PagerKeysHandlerTest {
|
class PagerKeysHandlerTest {
|
||||||
|
|
|
||||||
|
|
@ -23,9 +23,9 @@ import io.element.android.libraries.mediaviewer.api.anApkMediaInfo
|
||||||
import io.element.android.libraries.mediaviewer.api.anAudioMediaInfo
|
import io.element.android.libraries.mediaviewer.api.anAudioMediaInfo
|
||||||
import io.element.android.libraries.mediaviewer.api.anImageMediaInfo
|
import io.element.android.libraries.mediaviewer.api.anImageMediaInfo
|
||||||
import io.element.android.libraries.mediaviewer.impl.gallery.aGroupedMediaItems
|
import io.element.android.libraries.mediaviewer.impl.gallery.aGroupedMediaItems
|
||||||
import io.element.android.libraries.mediaviewer.impl.gallery.ui.aMediaItemFile
|
|
||||||
import io.element.android.libraries.mediaviewer.impl.gallery.ui.aMediaItemImage
|
|
||||||
import io.element.android.libraries.mediaviewer.impl.model.MediaItem
|
import io.element.android.libraries.mediaviewer.impl.model.MediaItem
|
||||||
|
import io.element.android.libraries.mediaviewer.impl.model.aMediaItemFile
|
||||||
|
import io.element.android.libraries.mediaviewer.impl.model.aMediaItemImage
|
||||||
import io.element.android.tests.testutils.WarmUpRule
|
import io.element.android.tests.testutils.WarmUpRule
|
||||||
import kotlinx.coroutines.test.runTest
|
import kotlinx.coroutines.test.runTest
|
||||||
import org.junit.Rule
|
import org.junit.Rule
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue