PinnedMessagesBannerEvents -> PinnedMessagesBannerEvent
This commit is contained in:
parent
79b8742e95
commit
3af41c814f
7 changed files with 13 additions and 13 deletions
|
|
@ -8,6 +8,6 @@
|
|||
|
||||
package io.element.android.features.messages.impl.pinned.banner
|
||||
|
||||
sealed interface PinnedMessagesBannerEvents {
|
||||
data object MoveToNextPinned : PinnedMessagesBannerEvents
|
||||
sealed interface PinnedMessagesBannerEvent {
|
||||
data object MoveToNextPinned : PinnedMessagesBannerEvent
|
||||
}
|
||||
|
|
@ -58,9 +58,9 @@ class PinnedMessagesBannerPresenter(
|
|||
},
|
||||
)
|
||||
|
||||
fun handleEvent(event: PinnedMessagesBannerEvents) {
|
||||
fun handleEvent(event: PinnedMessagesBannerEvent) {
|
||||
when (event) {
|
||||
is PinnedMessagesBannerEvents.MoveToNextPinned -> {
|
||||
is PinnedMessagesBannerEvent.MoveToNextPinned -> {
|
||||
val loadedCount = pinnedItems.value.dataOrNull().orEmpty().size
|
||||
currentPinnedMessageIndex = (currentPinnedMessageIndex - 1).mod(loadedCount)
|
||||
}
|
||||
|
|
@ -80,7 +80,7 @@ class PinnedMessagesBannerPresenter(
|
|||
expectedPinnedMessagesCount: Int,
|
||||
pinnedItems: AsyncData<ImmutableList<PinnedMessagesBannerItem>>,
|
||||
currentPinnedMessageIndex: Int,
|
||||
eventSink: (PinnedMessagesBannerEvents) -> Unit
|
||||
eventSink: (PinnedMessagesBannerEvent) -> Unit
|
||||
): PinnedMessagesBannerState {
|
||||
return when (pinnedItems) {
|
||||
is AsyncData.Failure, is AsyncData.Uninitialized -> PinnedMessagesBannerState.Hidden
|
||||
|
|
|
|||
|
|
@ -41,6 +41,6 @@ sealed interface PinnedMessagesBannerState {
|
|||
val currentPinnedMessage: PinnedMessagesBannerItem,
|
||||
val currentPinnedMessageIndex: Int,
|
||||
val loadedPinnedMessagesCount: Int,
|
||||
val eventSink: (PinnedMessagesBannerEvents) -> Unit
|
||||
val eventSink: (PinnedMessagesBannerEvent) -> Unit
|
||||
) : Visible
|
||||
}
|
||||
|
|
|
|||
|
|
@ -50,7 +50,7 @@ internal fun aLoadedPinnedMessagesBannerState(
|
|||
eventId = EventId("\$" + Random.nextInt().toString()),
|
||||
formatted = AnnotatedString(message)
|
||||
),
|
||||
eventSink: (PinnedMessagesBannerEvents) -> Unit = {}
|
||||
eventSink: (PinnedMessagesBannerEvent) -> Unit = {}
|
||||
) = PinnedMessagesBannerState.Loaded(
|
||||
currentPinnedMessage = currentPinnedMessage,
|
||||
currentPinnedMessageIndex = currentPinnedMessageIndex,
|
||||
|
|
|
|||
|
|
@ -96,7 +96,7 @@ private fun PinnedMessagesBannerRow(
|
|||
if (state is PinnedMessagesBannerState.Loaded) {
|
||||
analyticsService.captureInteraction(Interaction.Name.PinnedMessageBannerClick)
|
||||
onClick(state.currentPinnedMessage.eventId)
|
||||
state.eventSink(PinnedMessagesBannerEvents.MoveToNextPinned)
|
||||
state.eventSink(PinnedMessagesBannerEvent.MoveToNextPinned)
|
||||
}
|
||||
},
|
||||
verticalAlignment = Alignment.CenterVertically,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue