Rename class.

This commit is contained in:
Benoit Marty
2023-02-15 12:59:30 +01:00
parent bdc96da04f
commit f8318bbb61
8 changed files with 58 additions and 58 deletions

View File

@@ -20,7 +20,7 @@ import androidx.recyclerview.widget.DiffUtil
import io.element.android.features.messages.timeline.diff.CacheInvalidator
import io.element.android.features.messages.timeline.diff.MatrixTimelineItemsDiffCallback
import io.element.android.features.messages.timeline.model.AggregatedReaction
import io.element.android.features.messages.timeline.model.MessagesItemGroupPosition
import io.element.android.features.messages.timeline.model.TimelineItemGroupPosition
import io.element.android.features.messages.timeline.model.TimelineItem
import io.element.android.features.messages.timeline.model.TimelineItemReactions
import io.element.android.features.messages.timeline.model.content.TimelineItemContent
@@ -234,7 +234,7 @@ class TimelineItemsFactory @Inject constructor(
currentTimelineItem: MatrixTimelineItem.Event,
timelineItems: List<MatrixTimelineItem>,
index: Int
): MessagesItemGroupPosition {
): TimelineItemGroupPosition {
val prevTimelineItem =
timelineItems.getOrNull(index - 1) as? MatrixTimelineItem.Event
val nextTimelineItem =
@@ -244,10 +244,10 @@ class TimelineItemsFactory @Inject constructor(
val nextSender = nextTimelineItem?.event?.sender()
return when {
previousSender != currentSender && nextSender == currentSender -> MessagesItemGroupPosition.First
previousSender == currentSender && nextSender == currentSender -> MessagesItemGroupPosition.Middle
previousSender == currentSender && nextSender != currentSender -> MessagesItemGroupPosition.Last
else -> MessagesItemGroupPosition.None
previousSender != currentSender && nextSender == currentSender -> TimelineItemGroupPosition.First
previousSender == currentSender && nextSender == currentSender -> TimelineItemGroupPosition.Middle
previousSender == currentSender && nextSender != currentSender -> TimelineItemGroupPosition.Last
else -> TimelineItemGroupPosition.None
}
}
}

View File

@@ -17,7 +17,7 @@
package io.element.android.features.messages.timeline
import io.element.android.features.messages.timeline.model.AggregatedReaction
import io.element.android.features.messages.timeline.model.MessagesItemGroupPosition
import io.element.android.features.messages.timeline.model.TimelineItemGroupPosition
import io.element.android.features.messages.timeline.model.TimelineItem
import io.element.android.features.messages.timeline.model.TimelineItemReactions
import io.element.android.features.messages.timeline.model.content.TimelineItemContent
@@ -40,33 +40,33 @@ internal fun aTimelineItemList(content: TimelineItemContent): ImmutableList<Time
aMessageEvent(
isMine = false,
content = content,
groupPosition = MessagesItemGroupPosition.Last
groupPosition = TimelineItemGroupPosition.Last
),
aMessageEvent(
isMine = false,
content = content,
groupPosition = MessagesItemGroupPosition.Middle
groupPosition = TimelineItemGroupPosition.Middle
),
aMessageEvent(
isMine = false,
content = content,
groupPosition = MessagesItemGroupPosition.First
groupPosition = TimelineItemGroupPosition.First
),
// 3 items (First Middle Last) with isMine = true
aMessageEvent(
isMine = true,
content = content,
groupPosition = MessagesItemGroupPosition.Last
groupPosition = TimelineItemGroupPosition.Last
),
aMessageEvent(
isMine = true,
content = content,
groupPosition = MessagesItemGroupPosition.Middle
groupPosition = TimelineItemGroupPosition.Middle
),
aMessageEvent(
isMine = true,
content = content,
groupPosition = MessagesItemGroupPosition.First
groupPosition = TimelineItemGroupPosition.First
),
)
}
@@ -74,7 +74,7 @@ internal fun aTimelineItemList(content: TimelineItemContent): ImmutableList<Time
internal fun aMessageEvent(
isMine: Boolean = false,
content: TimelineItemContent = aTimelineItemContent(),
groupPosition: MessagesItemGroupPosition = MessagesItemGroupPosition.First
groupPosition: TimelineItemGroupPosition = TimelineItemGroupPosition.First
): TimelineItem.MessageEvent {
return TimelineItem.MessageEvent(
id = EventId(Math.random().toString()),

View File

@@ -17,11 +17,11 @@
package io.element.android.features.messages.timeline.components
import androidx.compose.runtime.Stable
import io.element.android.features.messages.timeline.model.MessagesItemGroupPosition
import io.element.android.features.messages.timeline.model.TimelineItemGroupPosition
@Stable
data class BubbleState(
val groupPosition: MessagesItemGroupPosition,
val groupPosition: TimelineItemGroupPosition,
val isMine: Boolean,
val isHighlighted: Boolean,
)

View File

@@ -17,42 +17,42 @@
package io.element.android.features.messages.timeline.components
import androidx.compose.ui.tooling.preview.PreviewParameterProvider
import io.element.android.features.messages.timeline.model.MessagesItemGroupPosition
import io.element.android.features.messages.timeline.model.TimelineItemGroupPosition
open class BubbleStateProvider : PreviewParameterProvider<BubbleState> {
override val values: Sequence<BubbleState>
get() = sequenceOf(
BubbleState(MessagesItemGroupPosition.First, isMine = false, isHighlighted = false),
BubbleState(MessagesItemGroupPosition.First, isMine = false, isHighlighted = true),
BubbleState(MessagesItemGroupPosition.First, isMine = false, isHighlighted = false),
BubbleState(MessagesItemGroupPosition.First, isMine = false, isHighlighted = true),
BubbleState(MessagesItemGroupPosition.First, isMine = true, isHighlighted = false),
BubbleState(MessagesItemGroupPosition.First, isMine = true, isHighlighted = true),
BubbleState(MessagesItemGroupPosition.First, isMine = true, isHighlighted = false),
BubbleState(MessagesItemGroupPosition.First, isMine = true, isHighlighted = true),
BubbleState(TimelineItemGroupPosition.First, isMine = false, isHighlighted = false),
BubbleState(TimelineItemGroupPosition.First, isMine = false, isHighlighted = true),
BubbleState(TimelineItemGroupPosition.First, isMine = false, isHighlighted = false),
BubbleState(TimelineItemGroupPosition.First, isMine = false, isHighlighted = true),
BubbleState(TimelineItemGroupPosition.First, isMine = true, isHighlighted = false),
BubbleState(TimelineItemGroupPosition.First, isMine = true, isHighlighted = true),
BubbleState(TimelineItemGroupPosition.First, isMine = true, isHighlighted = false),
BubbleState(TimelineItemGroupPosition.First, isMine = true, isHighlighted = true),
BubbleState(MessagesItemGroupPosition.Middle, isMine = false, isHighlighted = false),
BubbleState(MessagesItemGroupPosition.Middle, isMine = false, isHighlighted = true),
BubbleState(MessagesItemGroupPosition.Middle, isMine = false, isHighlighted = false),
BubbleState(MessagesItemGroupPosition.Middle, isMine = false, isHighlighted = true),
BubbleState(MessagesItemGroupPosition.Middle, isMine = true, isHighlighted = false),
BubbleState(MessagesItemGroupPosition.Middle, isMine = true, isHighlighted = true),
BubbleState(MessagesItemGroupPosition.Middle, isMine = true, isHighlighted = false),
BubbleState(MessagesItemGroupPosition.Middle, isMine = true, isHighlighted = true),
BubbleState(TimelineItemGroupPosition.Middle, isMine = false, isHighlighted = false),
BubbleState(TimelineItemGroupPosition.Middle, isMine = false, isHighlighted = true),
BubbleState(TimelineItemGroupPosition.Middle, isMine = false, isHighlighted = false),
BubbleState(TimelineItemGroupPosition.Middle, isMine = false, isHighlighted = true),
BubbleState(TimelineItemGroupPosition.Middle, isMine = true, isHighlighted = false),
BubbleState(TimelineItemGroupPosition.Middle, isMine = true, isHighlighted = true),
BubbleState(TimelineItemGroupPosition.Middle, isMine = true, isHighlighted = false),
BubbleState(TimelineItemGroupPosition.Middle, isMine = true, isHighlighted = true),
BubbleState(MessagesItemGroupPosition.Last, isMine = false, isHighlighted = false),
BubbleState(MessagesItemGroupPosition.Last, isMine = false, isHighlighted = true),
BubbleState(MessagesItemGroupPosition.Last, isMine = false, isHighlighted = false),
BubbleState(MessagesItemGroupPosition.Last, isMine = false, isHighlighted = true),
BubbleState(MessagesItemGroupPosition.Last, isMine = true, isHighlighted = false),
BubbleState(MessagesItemGroupPosition.Last, isMine = true, isHighlighted = true),
BubbleState(MessagesItemGroupPosition.Last, isMine = true, isHighlighted = false),
BubbleState(MessagesItemGroupPosition.Last, isMine = true, isHighlighted = true),
BubbleState(TimelineItemGroupPosition.Last, isMine = false, isHighlighted = false),
BubbleState(TimelineItemGroupPosition.Last, isMine = false, isHighlighted = true),
BubbleState(TimelineItemGroupPosition.Last, isMine = false, isHighlighted = false),
BubbleState(TimelineItemGroupPosition.Last, isMine = false, isHighlighted = true),
BubbleState(TimelineItemGroupPosition.Last, isMine = true, isHighlighted = false),
BubbleState(TimelineItemGroupPosition.Last, isMine = true, isHighlighted = true),
BubbleState(TimelineItemGroupPosition.Last, isMine = true, isHighlighted = false),
BubbleState(TimelineItemGroupPosition.Last, isMine = true, isHighlighted = true),
)
}
fun aBubbleState() = BubbleState(
groupPosition = MessagesItemGroupPosition.First,
groupPosition = TimelineItemGroupPosition.First,
isMine = false,
isHighlighted = false,
)

View File

@@ -35,7 +35,7 @@ import androidx.compose.ui.graphics.Shape
import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.tooling.preview.PreviewParameter
import androidx.compose.ui.unit.dp
import io.element.android.features.messages.timeline.model.MessagesItemGroupPosition
import io.element.android.features.messages.timeline.model.TimelineItemGroupPosition
import io.element.android.libraries.designsystem.preview.ElementPreviewDark
import io.element.android.libraries.designsystem.preview.ElementPreviewLight
import io.element.android.libraries.designsystem.theme.ElementTheme
@@ -55,22 +55,22 @@ fun MessageEventBubble(
) {
fun bubbleShape(): Shape {
return when (state.groupPosition) {
MessagesItemGroupPosition.First -> if (state.isMine) {
TimelineItemGroupPosition.First -> if (state.isMine) {
RoundedCornerShape(BUBBLE_RADIUS, BUBBLE_RADIUS, 0.dp, BUBBLE_RADIUS)
} else {
RoundedCornerShape(BUBBLE_RADIUS, BUBBLE_RADIUS, BUBBLE_RADIUS, 0.dp)
}
MessagesItemGroupPosition.Middle -> if (state.isMine) {
TimelineItemGroupPosition.Middle -> if (state.isMine) {
RoundedCornerShape(BUBBLE_RADIUS, 0.dp, 0.dp, BUBBLE_RADIUS)
} else {
RoundedCornerShape(0.dp, BUBBLE_RADIUS, BUBBLE_RADIUS, 0.dp)
}
MessagesItemGroupPosition.Last -> if (state.isMine) {
TimelineItemGroupPosition.Last -> if (state.isMine) {
RoundedCornerShape(BUBBLE_RADIUS, 0.dp, BUBBLE_RADIUS, BUBBLE_RADIUS)
} else {
RoundedCornerShape(0.dp, BUBBLE_RADIUS, BUBBLE_RADIUS, BUBBLE_RADIUS)
}
MessagesItemGroupPosition.None ->
TimelineItemGroupPosition.None ->
RoundedCornerShape(
BUBBLE_RADIUS,
BUBBLE_RADIUS,

View File

@@ -35,7 +35,7 @@ sealed interface TimelineItem {
val content: TimelineItemContent,
val sentTime: String = "",
val isMine: Boolean = false,
val groupPosition: MessagesItemGroupPosition = MessagesItemGroupPosition.None,
val groupPosition: TimelineItemGroupPosition = TimelineItemGroupPosition.None,
val reactionsState: TimelineItemReactions
) : TimelineItem {

View File

@@ -19,11 +19,11 @@ package io.element.android.features.messages.timeline.model
import androidx.compose.runtime.Immutable
@Immutable
sealed interface MessagesItemGroupPosition {
object First : MessagesItemGroupPosition
object Middle : MessagesItemGroupPosition
object Last : MessagesItemGroupPosition
object None : MessagesItemGroupPosition
sealed interface TimelineItemGroupPosition {
object First : TimelineItemGroupPosition
object Middle : TimelineItemGroupPosition
object Last : TimelineItemGroupPosition
object None : TimelineItemGroupPosition
fun isNew(): Boolean = when (this) {
First, None -> true

View File

@@ -18,11 +18,11 @@ package io.element.android.features.messages.timeline.model
import androidx.compose.ui.tooling.preview.PreviewParameterProvider
internal class TimelineItemGroupPositionProvider : PreviewParameterProvider<MessagesItemGroupPosition> {
internal class TimelineItemGroupPositionProvider : PreviewParameterProvider<TimelineItemGroupPosition> {
override val values = sequenceOf(
MessagesItemGroupPosition.First,
MessagesItemGroupPosition.Middle,
MessagesItemGroupPosition.Last,
MessagesItemGroupPosition.None,
TimelineItemGroupPosition.First,
TimelineItemGroupPosition.Middle,
TimelineItemGroupPosition.Last,
TimelineItemGroupPosition.None,
)
}