diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/MessagesView.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/MessagesView.kt index 2d9319c262..8094ab938b 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/MessagesView.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/MessagesView.kt @@ -57,7 +57,7 @@ import io.element.android.features.messages.impl.actionlist.ActionListView import io.element.android.features.messages.impl.actionlist.model.TimelineItemAction import io.element.android.features.messages.impl.crypto.historyvisible.HistoryVisibleStateView import io.element.android.features.messages.impl.crypto.identity.IdentityChangeStateView -import io.element.android.features.messages.impl.link.LinkEvents +import io.element.android.features.messages.impl.link.LinkEvent import io.element.android.features.messages.impl.link.LinkView import io.element.android.features.messages.impl.messagecomposer.AttachmentsBottomSheet import io.element.android.features.messages.impl.messagecomposer.DisabledComposerView @@ -252,7 +252,7 @@ fun MessagesView( onLinkClick(link.url, true) // Do not check those links, they are internal link only } else { - state.linkState.eventSink(LinkEvents.OnLinkClick(link)) + state.linkState.eventSink(LinkEvent.OnLinkClick(link)) } }, onReactionClick = ::onEmojiReactionClick, diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/link/LinkEvents.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/link/LinkEvent.kt similarity index 68% rename from features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/link/LinkEvents.kt rename to features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/link/LinkEvent.kt index ce817bf642..fb94eaf420 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/link/LinkEvents.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/link/LinkEvent.kt @@ -10,8 +10,8 @@ package io.element.android.features.messages.impl.link import io.element.android.wysiwyg.link.Link -sealed interface LinkEvents { - data class OnLinkClick(val link: Link) : LinkEvents - data object Confirm : LinkEvents - data object Cancel : LinkEvents +sealed interface LinkEvent { + data class OnLinkClick(val link: Link) : LinkEvent + data object Confirm : LinkEvent + data object Cancel : LinkEvent } diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/link/LinkPresenter.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/link/LinkPresenter.kt index b6886652d5..572209f463 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/link/LinkPresenter.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/link/LinkPresenter.kt @@ -25,9 +25,9 @@ class LinkPresenter( override fun present(): LinkState { val linkClick: MutableState> = remember { mutableStateOf(AsyncAction.Uninitialized) } - fun handleEvent(event: LinkEvents) { + fun handleEvent(event: LinkEvent) { when (event) { - is LinkEvents.OnLinkClick -> { + is LinkEvent.OnLinkClick -> { linkClick.value = AsyncAction.Loading val result = linkChecker.isSafe(event.link) if (result) { @@ -37,12 +37,12 @@ class LinkPresenter( linkClick.value = ConfirmingLinkClick(event.link) } } - LinkEvents.Confirm -> { + LinkEvent.Confirm -> { linkClick.value = (linkClick.value as? ConfirmingLinkClick) ?.let { AsyncAction.Success(it.link) } ?: AsyncAction.Uninitialized } - LinkEvents.Cancel -> { + LinkEvent.Cancel -> { linkClick.value = AsyncAction.Uninitialized } } diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/link/LinkState.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/link/LinkState.kt index c06d23ef9a..20b5cc7fe3 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/link/LinkState.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/link/LinkState.kt @@ -13,5 +13,5 @@ import io.element.android.wysiwyg.link.Link data class LinkState( val linkClick: AsyncAction, - val eventSink: (LinkEvents) -> Unit, + val eventSink: (LinkEvent) -> Unit, ) diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/link/LinkStateProvider.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/link/LinkStateProvider.kt index 8388cbea52..2e021ec276 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/link/LinkStateProvider.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/link/LinkStateProvider.kt @@ -29,7 +29,7 @@ open class LinkStateProvider : PreviewParameterProvider { fun aLinkState( linkClick: AsyncAction = AsyncAction.Uninitialized, - eventSink: (LinkEvents) -> Unit = {}, + eventSink: (LinkEvent) -> Unit = {}, ) = LinkState( linkClick = linkClick, eventSink = eventSink, diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/link/LinkView.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/link/LinkView.kt index 1a7558de05..69e6ee8673 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/link/LinkView.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/link/LinkView.kt @@ -46,10 +46,10 @@ fun LinkView( ), submitText = stringResource(CommonStrings.action_continue), onSubmitClick = { - state.eventSink(LinkEvents.Confirm) + state.eventSink(LinkEvent.Confirm) }, onDismiss = { - state.eventSink(LinkEvents.Cancel) + state.eventSink(LinkEvent.Cancel) }, ) } @@ -58,7 +58,7 @@ fun LinkView( val latestOnLinkValid by rememberUpdatedState(onLinkValid) LaunchedEffect(state.linkClick.data) { latestOnLinkValid(state.linkClick.data) - state.eventSink(LinkEvents.Cancel) + state.eventSink(LinkEvent.Cancel) } } } diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/pinned/list/PinnedMessagesListView.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/pinned/list/PinnedMessagesListView.kt index cdca126753..85f709d212 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/pinned/list/PinnedMessagesListView.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/pinned/list/PinnedMessagesListView.kt @@ -28,7 +28,7 @@ import io.element.android.compound.tokens.generated.CompoundIcons import io.element.android.features.messages.impl.actionlist.ActionListEvent import io.element.android.features.messages.impl.actionlist.ActionListView import io.element.android.features.messages.impl.actionlist.model.TimelineItemAction -import io.element.android.features.messages.impl.link.LinkEvents +import io.element.android.features.messages.impl.link.LinkEvent import io.element.android.features.messages.impl.link.LinkView import io.element.android.features.messages.impl.timeline.components.TimelineItemRow import io.element.android.features.messages.impl.timeline.components.event.TimelineItemEventContentView @@ -222,7 +222,7 @@ private fun PinnedMessagesListLoaded( focusedEventId = null, onUserDataClick = onUserDataClick, onLinkClick = { link -> - state.linkState.eventSink(LinkEvents.OnLinkClick(link)) + state.linkState.eventSink(LinkEvent.OnLinkClick(link)) }, onLinkLongClick = onLinkLongClick, onContentClick = onEventClick, @@ -243,7 +243,7 @@ private fun PinnedMessagesListLoaded( onContentClick = { onEventClick(event) }, onLongClick = { onMessageLongClick(event) }, onLinkClick = { link -> - state.linkState.eventSink(LinkEvents.OnLinkClick(link)) + state.linkState.eventSink(LinkEvent.OnLinkClick(link)) }, onLinkLongClick = onLinkLongClick, modifier = contentModifier, diff --git a/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/link/LinkPresenterTest.kt b/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/link/LinkPresenterTest.kt index 02292cf0ce..30548022e7 100644 --- a/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/link/LinkPresenterTest.kt +++ b/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/link/LinkPresenterTest.kt @@ -45,7 +45,7 @@ class LinkPresenterTest { presenter.test { val initialState = awaitItem() assertThat(initialState.linkClick).isEqualTo(AsyncAction.Uninitialized) - initialState.eventSink(LinkEvents.OnLinkClick(aLink)) + initialState.eventSink(LinkEvent.OnLinkClick(aLink)) assertThat(awaitItem().linkClick).isEqualTo(AsyncAction.Loading) val state = awaitItem() assertThat(state.linkClick).isEqualTo(AsyncAction.Success(aLink)) @@ -61,11 +61,11 @@ class LinkPresenterTest { presenter.test { val initialState = awaitItem() assertThat(initialState.linkClick).isEqualTo(AsyncAction.Uninitialized) - initialState.eventSink(LinkEvents.OnLinkClick(aLink)) + initialState.eventSink(LinkEvent.OnLinkClick(aLink)) assertThat(awaitItem().linkClick).isEqualTo(AsyncAction.Loading) val state = awaitItem() assertThat(state.linkClick).isEqualTo(ConfirmingLinkClick(aLink)) - state.eventSink(LinkEvents.Cancel) + state.eventSink(LinkEvent.Cancel) val finalState = awaitItem() assertThat(finalState.linkClick).isEqualTo(AsyncAction.Uninitialized) } @@ -79,11 +79,11 @@ class LinkPresenterTest { presenter.test { val initialState = awaitItem() assertThat(initialState.linkClick).isEqualTo(AsyncAction.Uninitialized) - initialState.eventSink(LinkEvents.OnLinkClick(aLink)) + initialState.eventSink(LinkEvent.OnLinkClick(aLink)) assertThat(awaitItem().linkClick).isEqualTo(AsyncAction.Loading) val state = awaitItem() assertThat(state.linkClick).isEqualTo(ConfirmingLinkClick(aLink)) - state.eventSink(LinkEvents.Confirm) + state.eventSink(LinkEvent.Confirm) val finalState = awaitItem() assertThat(finalState.linkClick).isEqualTo(AsyncAction.Success(aLink)) } diff --git a/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/link/LinkViewTest.kt b/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/link/LinkViewTest.kt index 54c95d83c7..e198ea9043 100644 --- a/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/link/LinkViewTest.kt +++ b/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/link/LinkViewTest.kt @@ -31,7 +31,7 @@ class LinkViewTest { @Test fun `clicking on cancel emits the expected event`() { - val eventsRecorder = EventsRecorder() + val eventsRecorder = EventsRecorder() rule.setLinkView( aLinkState( linkClick = ConfirmingLinkClick(aLink), @@ -40,13 +40,13 @@ class LinkViewTest { ) rule.clickOn(CommonStrings.action_cancel) eventsRecorder.assertSingle( - LinkEvents.Cancel + LinkEvent.Cancel ) } @Test fun `clicking on continue emits the expected event`() { - val eventsRecorder = EventsRecorder() + val eventsRecorder = EventsRecorder() rule.setLinkView( aLinkState( linkClick = ConfirmingLinkClick(aLink), @@ -55,13 +55,13 @@ class LinkViewTest { ) rule.clickOn(CommonStrings.action_continue) eventsRecorder.assertSingle( - LinkEvents.Confirm + LinkEvent.Confirm ) } @Test fun `success state invokes the callback and emits the expected event`() { - val eventsRecorder = EventsRecorder() + val eventsRecorder = EventsRecorder() ensureCalledOnceWithParam(aLink) { callback -> rule.setLinkView( aLinkState( @@ -72,7 +72,7 @@ class LinkViewTest { ) } eventsRecorder.assertSingle( - LinkEvents.Cancel + LinkEvent.Cancel ) } }