diff --git a/libraries/mediaviewer/impl/src/main/kotlin/io/element/android/libraries/mediaviewer/impl/details/MediaBottomSheetState.kt b/libraries/mediaviewer/impl/src/main/kotlin/io/element/android/libraries/mediaviewer/impl/details/MediaBottomSheetState.kt index 7cd4dee318..722126fac6 100644 --- a/libraries/mediaviewer/impl/src/main/kotlin/io/element/android/libraries/mediaviewer/impl/details/MediaBottomSheetState.kt +++ b/libraries/mediaviewer/impl/src/main/kotlin/io/element/android/libraries/mediaviewer/impl/details/MediaBottomSheetState.kt @@ -15,16 +15,16 @@ import io.element.android.libraries.mediaviewer.api.MediaInfo sealed interface MediaBottomSheetState { data object Hidden : MediaBottomSheetState - data class MediaDeleteConfirmationState( - val eventId: EventId, - val mediaInfo: MediaInfo, - val thumbnailSource: MediaSource?, - ) : MediaBottomSheetState - - data class MediaDetailsBottomSheetState( + data class Details( val eventId: EventId?, val canDelete: Boolean, val mediaInfo: MediaInfo, val thumbnailSource: MediaSource?, ) : MediaBottomSheetState + + data class DeleteConfirmation( + val eventId: EventId, + val mediaInfo: MediaInfo, + val thumbnailSource: MediaSource?, + ) : MediaBottomSheetState } diff --git a/libraries/mediaviewer/impl/src/main/kotlin/io/element/android/libraries/mediaviewer/impl/details/MediaBottomSheetStateDeleteConfirmationProvider.kt b/libraries/mediaviewer/impl/src/main/kotlin/io/element/android/libraries/mediaviewer/impl/details/MediaBottomSheetStateDeleteConfirmationProvider.kt new file mode 100644 index 0000000000..d5fd46d507 --- /dev/null +++ b/libraries/mediaviewer/impl/src/main/kotlin/io/element/android/libraries/mediaviewer/impl/details/MediaBottomSheetStateDeleteConfirmationProvider.kt @@ -0,0 +1,36 @@ +/* + * Copyright (c) 2025 Element Creations Ltd. + * Copyright 2024, 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.details + +import androidx.compose.ui.tooling.preview.PreviewParameterProvider +import io.element.android.libraries.matrix.api.core.EventId +import io.element.android.libraries.matrix.api.media.MediaSource +import io.element.android.libraries.mediaviewer.api.MediaInfo +import io.element.android.libraries.mediaviewer.api.anImageMediaInfo + +open class MediaBottomSheetStateDeleteConfirmationProvider : PreviewParameterProvider { + override val values: Sequence + get() = sequenceOf( + aMediaBottomSheetStateDeleteConfirmation(), + aMediaBottomSheetStateDeleteConfirmation( + thumbnailSource = MediaSource("url_thumbnail") + ), + ) +} + +fun aMediaBottomSheetStateDeleteConfirmation( + mediaInfo: MediaInfo = anImageMediaInfo( + senderName = "Alice", + ), + thumbnailSource: MediaSource? = null, +) = MediaBottomSheetState.DeleteConfirmation( + eventId = EventId("\$eventId"), + mediaInfo = mediaInfo, + thumbnailSource = thumbnailSource, +) diff --git a/libraries/mediaviewer/impl/src/main/kotlin/io/element/android/libraries/mediaviewer/impl/details/MediaDetailsBottomSheetStateProvider.kt b/libraries/mediaviewer/impl/src/main/kotlin/io/element/android/libraries/mediaviewer/impl/details/MediaBottomSheetStateDetailsProvider.kt similarity index 53% rename from libraries/mediaviewer/impl/src/main/kotlin/io/element/android/libraries/mediaviewer/impl/details/MediaDetailsBottomSheetStateProvider.kt rename to libraries/mediaviewer/impl/src/main/kotlin/io/element/android/libraries/mediaviewer/impl/details/MediaBottomSheetStateDetailsProvider.kt index 5da48a0838..ad8e6e30a0 100644 --- a/libraries/mediaviewer/impl/src/main/kotlin/io/element/android/libraries/mediaviewer/impl/details/MediaDetailsBottomSheetStateProvider.kt +++ b/libraries/mediaviewer/impl/src/main/kotlin/io/element/android/libraries/mediaviewer/impl/details/MediaBottomSheetStateDetailsProvider.kt @@ -13,31 +13,28 @@ import io.element.android.libraries.mediaviewer.api.MediaInfo import io.element.android.libraries.mediaviewer.api.anApkMediaInfo import io.element.android.libraries.mediaviewer.api.anImageMediaInfo -open class MediaDetailsBottomSheetStateProvider : PreviewParameterProvider { - override val values: Sequence +open class MediaBottomSheetStateDetailsProvider : PreviewParameterProvider { + override val values: Sequence get() = sequenceOf( - aMediaDetailsBottomSheetState(), - aMediaDetailsBottomSheetState( + aMediaBottomSheetStateDetails(), + aMediaBottomSheetStateDetails( canDelete = false, ), - aMediaDetailsBottomSheetState( + aMediaBottomSheetStateDetails( mediaInfo = anApkMediaInfo(), ), ) } -fun aMediaDetailsBottomSheetState( - dateSentFull: String = "December 6, 2024 at 12:59", +fun aMediaBottomSheetStateDetails( canDelete: Boolean = true, mediaInfo: MediaInfo = anImageMediaInfo( senderName = "Alice", - dateSentFull = dateSentFull, + dateSentFull = "December 6, 2024 at 12:59", ), -): MediaBottomSheetState.MediaDetailsBottomSheetState { - return MediaBottomSheetState.MediaDetailsBottomSheetState( - eventId = EventId("\$eventId"), - canDelete = canDelete, - mediaInfo = mediaInfo, - thumbnailSource = null, - ) -} +) = MediaBottomSheetState.Details( + eventId = EventId("\$eventId"), + canDelete = canDelete, + mediaInfo = mediaInfo, + thumbnailSource = null, +) diff --git a/libraries/mediaviewer/impl/src/main/kotlin/io/element/android/libraries/mediaviewer/impl/details/MediaDeleteConfirmationBottomSheet.kt b/libraries/mediaviewer/impl/src/main/kotlin/io/element/android/libraries/mediaviewer/impl/details/MediaDeleteConfirmationBottomSheet.kt index e3b16df684..84712eb10a 100644 --- a/libraries/mediaviewer/impl/src/main/kotlin/io/element/android/libraries/mediaviewer/impl/details/MediaDeleteConfirmationBottomSheet.kt +++ b/libraries/mediaviewer/impl/src/main/kotlin/io/element/android/libraries/mediaviewer/impl/details/MediaDeleteConfirmationBottomSheet.kt @@ -30,6 +30,7 @@ import androidx.compose.ui.graphics.Color import androidx.compose.ui.layout.ContentScale import androidx.compose.ui.res.stringResource import androidx.compose.ui.text.style.TextOverflow +import androidx.compose.ui.tooling.preview.PreviewParameter import androidx.compose.ui.unit.dp import coil3.compose.AsyncImage import io.element.android.compound.theme.ElementTheme @@ -49,7 +50,7 @@ import io.element.android.libraries.ui.strings.CommonStrings @OptIn(ExperimentalMaterial3Api::class) @Composable fun MediaDeleteConfirmationBottomSheet( - state: MediaBottomSheetState.MediaDeleteConfirmationState, + state: MediaBottomSheetState.DeleteConfirmation, onDelete: (EventId) -> Unit, onDismiss: () -> Unit, modifier: Modifier = Modifier, @@ -105,7 +106,7 @@ fun MediaDeleteConfirmationBottomSheet( @Composable private fun MediaRow( - state: MediaBottomSheetState.MediaDeleteConfirmationState, + state: MediaBottomSheetState.DeleteConfirmation, modifier: Modifier = Modifier, ) { Row( @@ -160,9 +161,11 @@ private fun MediaRow( @PreviewsDayNight @Composable -internal fun MediaDeleteConfirmationBottomSheetPreview() = ElementPreview { +internal fun MediaDeleteConfirmationBottomSheetPreview( + @PreviewParameter(provider = MediaBottomSheetStateDeleteConfirmationProvider::class) state: MediaBottomSheetState.DeleteConfirmation, +) = ElementPreview { MediaDeleteConfirmationBottomSheet( - state = aMediaDeleteConfirmationState(), + state = state, onDelete = {}, onDismiss = {}, ) diff --git a/libraries/mediaviewer/impl/src/main/kotlin/io/element/android/libraries/mediaviewer/impl/details/MediaDetailsBottomSheet.kt b/libraries/mediaviewer/impl/src/main/kotlin/io/element/android/libraries/mediaviewer/impl/details/MediaDetailsBottomSheet.kt index 3450989c95..a3c3d02de8 100644 --- a/libraries/mediaviewer/impl/src/main/kotlin/io/element/android/libraries/mediaviewer/impl/details/MediaDetailsBottomSheet.kt +++ b/libraries/mediaviewer/impl/src/main/kotlin/io/element/android/libraries/mediaviewer/impl/details/MediaDetailsBottomSheet.kt @@ -54,7 +54,7 @@ import io.element.android.libraries.ui.strings.CommonStrings @OptIn(ExperimentalMaterial3Api::class) @Composable fun MediaDetailsBottomSheet( - state: MediaBottomSheetState.MediaDetailsBottomSheetState, + state: MediaBottomSheetState.Details, onViewInTimeline: (EventId) -> Unit, onShare: (EventId) -> Unit, onForward: (EventId) -> Unit, @@ -250,7 +250,7 @@ private fun SectionText( @PreviewsDayNight @Composable internal fun MediaDetailsBottomSheetPreview( - @PreviewParameter(MediaDetailsBottomSheetStateProvider::class) state: MediaBottomSheetState.MediaDetailsBottomSheetState, + @PreviewParameter(MediaBottomSheetStateDetailsProvider::class) state: MediaBottomSheetState.Details, ) = ElementPreview { MediaDetailsBottomSheet( state = state, diff --git a/libraries/mediaviewer/impl/src/main/kotlin/io/element/android/libraries/mediaviewer/impl/details/Preview.kt b/libraries/mediaviewer/impl/src/main/kotlin/io/element/android/libraries/mediaviewer/impl/details/Preview.kt deleted file mode 100644 index 17138b4fa7..0000000000 --- a/libraries/mediaviewer/impl/src/main/kotlin/io/element/android/libraries/mediaviewer/impl/details/Preview.kt +++ /dev/null @@ -1,22 +0,0 @@ -/* - * Copyright (c) 2025 Element Creations Ltd. - * Copyright 2024, 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.details - -import io.element.android.libraries.matrix.api.core.EventId -import io.element.android.libraries.mediaviewer.api.anImageMediaInfo - -fun aMediaDeleteConfirmationState(): MediaBottomSheetState.MediaDeleteConfirmationState { - return MediaBottomSheetState.MediaDeleteConfirmationState( - eventId = EventId("\$eventId"), - mediaInfo = anImageMediaInfo( - senderName = "Alice", - ), - thumbnailSource = null, - ) -} diff --git a/libraries/mediaviewer/impl/src/main/kotlin/io/element/android/libraries/mediaviewer/impl/gallery/MediaGalleryPresenter.kt b/libraries/mediaviewer/impl/src/main/kotlin/io/element/android/libraries/mediaviewer/impl/gallery/MediaGalleryPresenter.kt index e56267e291..ac9b365099 100644 --- a/libraries/mediaviewer/impl/src/main/kotlin/io/element/android/libraries/mediaviewer/impl/gallery/MediaGalleryPresenter.kt +++ b/libraries/mediaviewer/impl/src/main/kotlin/io/element/android/libraries/mediaviewer/impl/gallery/MediaGalleryPresenter.kt @@ -126,7 +126,7 @@ class MediaGalleryPresenter( navigator.onViewInTimelineClick(event.eventId) } is MediaGalleryEvent.OpenInfo -> coroutineScope.launch { - mediaBottomSheetState = MediaBottomSheetState.MediaDetailsBottomSheetState( + mediaBottomSheetState = MediaBottomSheetState.Details( eventId = event.mediaItem.eventId(), canDelete = when (event.mediaItem.mediaInfo().senderId) { null -> false @@ -144,7 +144,7 @@ class MediaGalleryPresenter( ) } is MediaGalleryEvent.ConfirmDelete -> { - mediaBottomSheetState = MediaBottomSheetState.MediaDeleteConfirmationState( + mediaBottomSheetState = MediaBottomSheetState.DeleteConfirmation( eventId = event.eventId, mediaInfo = event.mediaInfo, thumbnailSource = event.thumbnailSource, diff --git a/libraries/mediaviewer/impl/src/main/kotlin/io/element/android/libraries/mediaviewer/impl/gallery/MediaGalleryStateProvider.kt b/libraries/mediaviewer/impl/src/main/kotlin/io/element/android/libraries/mediaviewer/impl/gallery/MediaGalleryStateProvider.kt index a19f810e45..7b5edf594a 100644 --- a/libraries/mediaviewer/impl/src/main/kotlin/io/element/android/libraries/mediaviewer/impl/gallery/MediaGalleryStateProvider.kt +++ b/libraries/mediaviewer/impl/src/main/kotlin/io/element/android/libraries/mediaviewer/impl/gallery/MediaGalleryStateProvider.kt @@ -13,7 +13,7 @@ import io.element.android.libraries.architecture.AsyncData import io.element.android.libraries.designsystem.components.media.WaveFormSamples 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.aMediaDetailsBottomSheetState +import io.element.android.libraries.mediaviewer.impl.details.aMediaBottomSheetStateDetails 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.aMediaItemAudio @@ -79,7 +79,7 @@ open class MediaGalleryStateProvider : PreviewParameterProvider Unit - is MediaBottomSheetState.MediaDetailsBottomSheetState -> { + is MediaBottomSheetState.Details -> { MediaDetailsBottomSheet( state = bottomSheetState, onViewInTimeline = { eventId -> @@ -190,7 +190,7 @@ fun MediaGalleryView( }, ) } - is MediaBottomSheetState.MediaDeleteConfirmationState -> { + is MediaBottomSheetState.DeleteConfirmation -> { MediaDeleteConfirmationBottomSheet( state = bottomSheetState, onDelete = { diff --git a/libraries/mediaviewer/impl/src/main/kotlin/io/element/android/libraries/mediaviewer/impl/viewer/MediaViewerPresenter.kt b/libraries/mediaviewer/impl/src/main/kotlin/io/element/android/libraries/mediaviewer/impl/viewer/MediaViewerPresenter.kt index 0128e40e65..b7631a7039 100644 --- a/libraries/mediaviewer/impl/src/main/kotlin/io/element/android/libraries/mediaviewer/impl/viewer/MediaViewerPresenter.kt +++ b/libraries/mediaviewer/impl/src/main/kotlin/io/element/android/libraries/mediaviewer/impl/viewer/MediaViewerPresenter.kt @@ -131,7 +131,7 @@ class MediaViewerPresenter( ) } is MediaViewerEvent.OpenInfo -> coroutineScope.launch { - mediaBottomSheetState = MediaBottomSheetState.MediaDetailsBottomSheetState( + mediaBottomSheetState = MediaBottomSheetState.Details( eventId = event.data.eventId, canDelete = when (event.data.mediaInfo.senderId) { null -> false @@ -143,7 +143,7 @@ class MediaViewerPresenter( ) } is MediaViewerEvent.ConfirmDelete -> { - mediaBottomSheetState = MediaBottomSheetState.MediaDeleteConfirmationState( + mediaBottomSheetState = MediaBottomSheetState.DeleteConfirmation( eventId = event.eventId, mediaInfo = event.data.mediaInfo, thumbnailSource = event.data.thumbnailSource ?: event.data.mediaSource, diff --git a/libraries/mediaviewer/impl/src/main/kotlin/io/element/android/libraries/mediaviewer/impl/viewer/MediaViewerStateProvider.kt b/libraries/mediaviewer/impl/src/main/kotlin/io/element/android/libraries/mediaviewer/impl/viewer/MediaViewerStateProvider.kt index e7d8fd55ae..ef9b533586 100644 --- a/libraries/mediaviewer/impl/src/main/kotlin/io/element/android/libraries/mediaviewer/impl/viewer/MediaViewerStateProvider.kt +++ b/libraries/mediaviewer/impl/src/main/kotlin/io/element/android/libraries/mediaviewer/impl/viewer/MediaViewerStateProvider.kt @@ -25,8 +25,8 @@ import io.element.android.libraries.mediaviewer.api.anAudioMediaInfo import io.element.android.libraries.mediaviewer.api.anImageMediaInfo import io.element.android.libraries.mediaviewer.api.local.LocalMedia import io.element.android.libraries.mediaviewer.impl.details.MediaBottomSheetState -import io.element.android.libraries.mediaviewer.impl.details.aMediaDeleteConfirmationState -import io.element.android.libraries.mediaviewer.impl.details.aMediaDetailsBottomSheetState +import io.element.android.libraries.mediaviewer.impl.details.aMediaBottomSheetStateDeleteConfirmation +import io.element.android.libraries.mediaviewer.impl.details.aMediaBottomSheetStateDetails import kotlinx.collections.immutable.toImmutableList private const val LONG_CAPTION = "This is a very long caption that should be scrollable in the media viewer. " + @@ -141,10 +141,10 @@ open class MediaViewerStateProvider : PreviewParameterProvider ) }, aMediaViewerState( - mediaBottomSheetState = aMediaDetailsBottomSheetState(), + mediaBottomSheetState = aMediaBottomSheetStateDetails(), ), aMediaViewerState( - mediaBottomSheetState = aMediaDeleteConfirmationState(), + mediaBottomSheetState = aMediaBottomSheetStateDeleteConfirmation(), ), anAudioMediaInfo( waveForm = WaveFormSamples.realisticWaveForm, diff --git a/libraries/mediaviewer/impl/src/main/kotlin/io/element/android/libraries/mediaviewer/impl/viewer/MediaViewerView.kt b/libraries/mediaviewer/impl/src/main/kotlin/io/element/android/libraries/mediaviewer/impl/viewer/MediaViewerView.kt index 5119198ff4..abea2f66d2 100644 --- a/libraries/mediaviewer/impl/src/main/kotlin/io/element/android/libraries/mediaviewer/impl/viewer/MediaViewerView.kt +++ b/libraries/mediaviewer/impl/src/main/kotlin/io/element/android/libraries/mediaviewer/impl/viewer/MediaViewerView.kt @@ -253,7 +253,7 @@ fun MediaViewerView( when (val bottomSheetState = state.mediaBottomSheetState) { MediaBottomSheetState.Hidden -> Unit - is MediaBottomSheetState.MediaDetailsBottomSheetState -> { + is MediaBottomSheetState.Details -> { MediaDetailsBottomSheet( state = bottomSheetState, onViewInTimeline = { @@ -292,7 +292,7 @@ fun MediaViewerView( }, ) } - is MediaBottomSheetState.MediaDeleteConfirmationState -> { + is MediaBottomSheetState.DeleteConfirmation -> { MediaDeleteConfirmationBottomSheet( state = bottomSheetState, onDelete = { diff --git a/libraries/mediaviewer/impl/src/test/kotlin/io/element/android/libraries/mediaviewer/impl/details/MediaDeleteConfirmationBottomSheetTest.kt b/libraries/mediaviewer/impl/src/test/kotlin/io/element/android/libraries/mediaviewer/impl/details/MediaDeleteConfirmationBottomSheetTest.kt index 4d8b81a2dd..4cbb35a85e 100644 --- a/libraries/mediaviewer/impl/src/test/kotlin/io/element/android/libraries/mediaviewer/impl/details/MediaDeleteConfirmationBottomSheetTest.kt +++ b/libraries/mediaviewer/impl/src/test/kotlin/io/element/android/libraries/mediaviewer/impl/details/MediaDeleteConfirmationBottomSheetTest.kt @@ -33,7 +33,7 @@ class MediaDeleteConfirmationBottomSheetTest { @Test fun `clicking on Cancel invokes expected callback`() { - val state = aMediaDeleteConfirmationState() + val state = aMediaBottomSheetStateDeleteConfirmation() ensureCalledOnce { callback -> rule.setMediaDeleteConfirmationBottomSheet( state = state, @@ -45,7 +45,7 @@ class MediaDeleteConfirmationBottomSheetTest { @Test fun `clicking on Remove invokes expected callback`() { - val state = aMediaDeleteConfirmationState() + val state = aMediaBottomSheetStateDeleteConfirmation() ensureCalledOnceWithParam(state.eventId) { callback -> rule.setMediaDeleteConfirmationBottomSheet( state = state, @@ -58,7 +58,7 @@ class MediaDeleteConfirmationBottomSheetTest { } private fun AndroidComposeTestRule.setMediaDeleteConfirmationBottomSheet( - state: MediaBottomSheetState.MediaDeleteConfirmationState, + state: MediaBottomSheetState.DeleteConfirmation, onDelete: (EventId) -> Unit = EnsureNeverCalledWithParam(), onDismiss: () -> Unit = EnsureNeverCalled(), ) { diff --git a/libraries/mediaviewer/impl/src/test/kotlin/io/element/android/libraries/mediaviewer/impl/details/MediaDetailsBottomSheetTest.kt b/libraries/mediaviewer/impl/src/test/kotlin/io/element/android/libraries/mediaviewer/impl/details/MediaDetailsBottomSheetTest.kt index b6b8b68466..21a06f9568 100644 --- a/libraries/mediaviewer/impl/src/test/kotlin/io/element/android/libraries/mediaviewer/impl/details/MediaDetailsBottomSheetTest.kt +++ b/libraries/mediaviewer/impl/src/test/kotlin/io/element/android/libraries/mediaviewer/impl/details/MediaDetailsBottomSheetTest.kt @@ -34,7 +34,7 @@ class MediaDetailsBottomSheetTest { @Test @Config(qualifiers = "h1024dp") fun `clicking on View in timeline invokes expected callback`() { - val state = aMediaDetailsBottomSheetState() + val state = aMediaBottomSheetStateDetails() ensureCalledOnceWithParam(state.eventId) { callback -> rule.setMediaDetailsBottomSheet( state = state, @@ -47,7 +47,7 @@ class MediaDetailsBottomSheetTest { @Test @Config(qualifiers = "h1024dp") fun `clicking on Share invokes expected callback`() { - val state = aMediaDetailsBottomSheetState() + val state = aMediaBottomSheetStateDetails() ensureCalledOnceWithParam(state.eventId) { callback -> rule.setMediaDetailsBottomSheet( state = state, @@ -60,7 +60,7 @@ class MediaDetailsBottomSheetTest { @Test @Config(qualifiers = "h1024dp") fun `clicking on Forward invokes expected callback`() { - val state = aMediaDetailsBottomSheetState() + val state = aMediaBottomSheetStateDetails() ensureCalledOnceWithParam(state.eventId) { callback -> rule.setMediaDetailsBottomSheet( state = state, @@ -73,7 +73,7 @@ class MediaDetailsBottomSheetTest { @Test @Config(qualifiers = "h1024dp") fun `clicking on Download invokes expected callback`() { - val state = aMediaDetailsBottomSheetState() + val state = aMediaBottomSheetStateDetails() ensureCalledOnceWithParam(state.eventId) { callback -> rule.setMediaDetailsBottomSheet( state = state, @@ -86,7 +86,7 @@ class MediaDetailsBottomSheetTest { @Config(qualifiers = "h1024dp") @Test fun `clicking on Delete invokes expected callback`() { - val state = aMediaDetailsBottomSheetState() + val state = aMediaBottomSheetStateDetails() ensureCalledOnceWithParam(state.eventId) { callback -> rule.setMediaDetailsBottomSheet( state = state, @@ -100,7 +100,7 @@ class MediaDetailsBottomSheetTest { @Config(qualifiers = "h1024dp") @Test fun `Remove is not present if canDelete is false`() { - val state = aMediaDetailsBottomSheetState( + val state = aMediaBottomSheetStateDetails( canDelete = false, ) rule.setMediaDetailsBottomSheet( @@ -111,7 +111,7 @@ class MediaDetailsBottomSheetTest { } private fun AndroidComposeTestRule.setMediaDetailsBottomSheet( - state: MediaBottomSheetState.MediaDetailsBottomSheetState, + state: MediaBottomSheetState.Details, onViewInTimeline: (EventId) -> Unit = EnsureNeverCalledWithParam(), onShare: (EventId) -> Unit = EnsureNeverCalledWithParam(), onForward: (EventId) -> Unit = EnsureNeverCalledWithParam(), 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 6dd58a6086..929f2a970e 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 @@ -136,7 +136,7 @@ class MediaGalleryPresenterTest { initialState.eventSink(MediaGalleryEvent.OpenInfo(item)) val state = awaitItem() assertThat(state.mediaBottomSheetState).isEqualTo( - MediaBottomSheetState.MediaDetailsBottomSheetState( + MediaBottomSheetState.Details( eventId = AN_EVENT_ID, canDelete = canDeleteOwn, mediaInfo = item.mediaInfo, @@ -183,7 +183,7 @@ class MediaGalleryPresenterTest { initialState.eventSink(MediaGalleryEvent.OpenInfo(item)) val state = awaitItem() assertThat(state.mediaBottomSheetState).isEqualTo( - MediaBottomSheetState.MediaDetailsBottomSheetState( + MediaBottomSheetState.Details( eventId = AN_EVENT_ID, canDelete = canDeleteOther, mediaInfo = item.mediaInfo, @@ -212,7 +212,7 @@ class MediaGalleryPresenterTest { initialState.eventSink(MediaGalleryEvent.ConfirmDelete(AN_EVENT_ID, item.mediaInfo, item.thumbnailSource)) val deleteState = awaitItem() assertThat(deleteState.mediaBottomSheetState).isEqualTo( - MediaBottomSheetState.MediaDeleteConfirmationState( + MediaBottomSheetState.DeleteConfirmation( eventId = AN_EVENT_ID, mediaInfo = item.mediaInfo, thumbnailSource = item.thumbnailSource, @@ -384,7 +384,7 @@ class MediaGalleryPresenterTest { val initialState = awaitFirstItem() initialState.eventSink(MediaGalleryEvent.OpenInfo(item)) val withBottomSheetState = awaitItem() - assertThat(withBottomSheetState.mediaBottomSheetState).isInstanceOf(MediaBottomSheetState.MediaDetailsBottomSheetState::class.java) + assertThat(withBottomSheetState.mediaBottomSheetState).isInstanceOf(MediaBottomSheetState.Details::class.java) withBottomSheetState.eventSink(MediaGalleryEvent.OpenWith(AN_EVENT_ID)) val finalState = awaitItem() assertThat(finalState.mediaBottomSheetState).isEqualTo(MediaBottomSheetState.Hidden) @@ -451,7 +451,7 @@ class MediaGalleryPresenterTest { ) initialState.eventSink(MediaGalleryEvent.OpenInfo(item)) val withBottomSheetState = awaitItem() - assertThat(withBottomSheetState.mediaBottomSheetState).isInstanceOf(MediaBottomSheetState.MediaDetailsBottomSheetState::class.java) + assertThat(withBottomSheetState.mediaBottomSheetState).isInstanceOf(MediaBottomSheetState.Details::class.java) withBottomSheetState.eventSink(MediaGalleryEvent.ViewInTimeline(AN_EVENT_ID)) val finalState = awaitItem() assertThat(finalState.mediaBottomSheetState).isEqualTo(MediaBottomSheetState.Hidden) @@ -484,7 +484,7 @@ class MediaGalleryPresenterTest { ) initialState.eventSink(MediaGalleryEvent.OpenInfo(item)) val withBottomSheetState = awaitItem() - assertThat(withBottomSheetState.mediaBottomSheetState).isInstanceOf(MediaBottomSheetState.MediaDetailsBottomSheetState::class.java) + assertThat(withBottomSheetState.mediaBottomSheetState).isInstanceOf(MediaBottomSheetState.Details::class.java) withBottomSheetState.eventSink(MediaGalleryEvent.Forward(AN_EVENT_ID)) val finalState = awaitItem() assertThat(finalState.mediaBottomSheetState).isEqualTo(MediaBottomSheetState.Hidden) diff --git a/libraries/mediaviewer/impl/src/test/kotlin/io/element/android/libraries/mediaviewer/impl/viewer/MediaViewerPresenterTest.kt b/libraries/mediaviewer/impl/src/test/kotlin/io/element/android/libraries/mediaviewer/impl/viewer/MediaViewerPresenterTest.kt index 6cf846ff78..caacb03804 100644 --- a/libraries/mediaviewer/impl/src/test/kotlin/io/element/android/libraries/mediaviewer/impl/viewer/MediaViewerPresenterTest.kt +++ b/libraries/mediaviewer/impl/src/test/kotlin/io/element/android/libraries/mediaviewer/impl/viewer/MediaViewerPresenterTest.kt @@ -273,7 +273,7 @@ class MediaViewerPresenterTest { ) ) val withInfoState = awaitItem() - assertThat(withInfoState.mediaBottomSheetState).isInstanceOf(MediaBottomSheetState.MediaDetailsBottomSheetState::class.java) + assertThat(withInfoState.mediaBottomSheetState).isInstanceOf(MediaBottomSheetState.Details::class.java) withInfoState.eventSink( MediaViewerEvent.CloseBottomSheet ) @@ -446,7 +446,7 @@ class MediaViewerPresenterTest { ) ) val withBottomSheetState = awaitItem() - assertThat(withBottomSheetState.mediaBottomSheetState).isInstanceOf(MediaBottomSheetState.MediaDeleteConfirmationState::class.java) + assertThat(withBottomSheetState.mediaBottomSheetState).isInstanceOf(MediaBottomSheetState.DeleteConfirmation::class.java) withBottomSheetState.eventSink( MediaViewerEvent.CloseBottomSheet ) @@ -506,7 +506,7 @@ class MediaViewerPresenterTest { ) ) val withBottomSheetState = awaitItem() - assertThat(withBottomSheetState.mediaBottomSheetState).isInstanceOf(MediaBottomSheetState.MediaDeleteConfirmationState::class.java) + assertThat(withBottomSheetState.mediaBottomSheetState).isInstanceOf(MediaBottomSheetState.DeleteConfirmation::class.java) updatedState.eventSink( MediaViewerEvent.Delete( eventId = AN_EVENT_ID, @@ -798,7 +798,7 @@ class MediaViewerPresenterTest { val initialState = awaitItem() initialState.eventSink(MediaViewerEvent.OpenInfo(aMediaViewerPageData())) val withBottomSheetState = awaitItem() - assertThat(withBottomSheetState.mediaBottomSheetState).isInstanceOf(MediaBottomSheetState.MediaDetailsBottomSheetState::class.java) + assertThat(withBottomSheetState.mediaBottomSheetState).isInstanceOf(MediaBottomSheetState.Details::class.java) initialState.eventSink(MediaViewerEvent.ViewInTimeline(AN_EVENT_ID)) val finalState = awaitItem() assertThat(finalState.mediaBottomSheetState).isEqualTo(MediaBottomSheetState.Hidden) @@ -827,7 +827,7 @@ class MediaViewerPresenterTest { val initialState = awaitItem() initialState.eventSink(MediaViewerEvent.OpenInfo(aMediaViewerPageData())) val withBottomSheetState = awaitItem() - assertThat(withBottomSheetState.mediaBottomSheetState).isInstanceOf(MediaBottomSheetState.MediaDetailsBottomSheetState::class.java) + assertThat(withBottomSheetState.mediaBottomSheetState).isInstanceOf(MediaBottomSheetState.Details::class.java) initialState.eventSink(MediaViewerEvent.Forward(AN_EVENT_ID)) val finalState = awaitItem() assertThat(finalState.mediaBottomSheetState).isEqualTo(MediaBottomSheetState.Hidden) @@ -858,7 +858,7 @@ class MediaViewerPresenterTest { val initialState = awaitItem() initialState.eventSink(MediaViewerEvent.OpenInfo(aMediaViewerPageData())) val withBottomSheetState = awaitItem() - assertThat(withBottomSheetState.mediaBottomSheetState).isInstanceOf(MediaBottomSheetState.MediaDetailsBottomSheetState::class.java) + assertThat(withBottomSheetState.mediaBottomSheetState).isInstanceOf(MediaBottomSheetState.Details::class.java) initialState.eventSink(MediaViewerEvent.Forward(AN_EVENT_ID)) val finalState = awaitItem() assertThat(finalState.mediaBottomSheetState).isEqualTo(MediaBottomSheetState.Hidden) diff --git a/libraries/mediaviewer/impl/src/test/kotlin/io/element/android/libraries/mediaviewer/impl/viewer/MediaViewerViewTest.kt b/libraries/mediaviewer/impl/src/test/kotlin/io/element/android/libraries/mediaviewer/impl/viewer/MediaViewerViewTest.kt index e5eb07b871..9eded788aa 100644 --- a/libraries/mediaviewer/impl/src/test/kotlin/io/element/android/libraries/mediaviewer/impl/viewer/MediaViewerViewTest.kt +++ b/libraries/mediaviewer/impl/src/test/kotlin/io/element/android/libraries/mediaviewer/impl/viewer/MediaViewerViewTest.kt @@ -20,7 +20,7 @@ import androidx.compose.ui.test.performTouchInput import androidx.compose.ui.test.swipeDown import androidx.test.ext.junit.runners.AndroidJUnit4 import io.element.android.libraries.architecture.AsyncData -import io.element.android.libraries.mediaviewer.impl.details.aMediaDetailsBottomSheetState +import io.element.android.libraries.mediaviewer.impl.details.aMediaBottomSheetStateDetails import io.element.android.libraries.mediaviewer.test.viewer.aLocalMedia import io.element.android.libraries.ui.strings.CommonStrings import io.element.android.tests.testutils.EnsureNeverCalled @@ -164,7 +164,7 @@ class MediaViewerViewTest { rule.setMediaViewerView( aMediaViewerState( listData = listOf(data), - mediaBottomSheetState = aMediaDetailsBottomSheetState(), + mediaBottomSheetState = aMediaBottomSheetStateDetails(), eventSink = eventsRecorder ), )