Timeline : remove highlightedEventId to only use focusedEventId
This commit is contained in:
parent
0480f8d1bc
commit
64d02d17bb
6 changed files with 1 additions and 14 deletions
|
|
@ -185,10 +185,6 @@ class MessagesPresenter @AssistedInject constructor(
|
||||||
|
|
||||||
val snackbarMessage by snackbarDispatcher.collectSnackbarMessageAsState()
|
val snackbarMessage by snackbarDispatcher.collectSnackbarMessageAsState()
|
||||||
|
|
||||||
LaunchedEffect(composerState.mode.relatedEventId) {
|
|
||||||
timelineState.eventSink(TimelineEvents.SetHighlightedEvent(composerState.mode.relatedEventId))
|
|
||||||
}
|
|
||||||
|
|
||||||
val enableTextFormatting by appPreferencesStore.isRichTextEditorEnabledFlow().collectAsState(initial = true)
|
val enableTextFormatting by appPreferencesStore.isRichTextEditorEnabledFlow().collectAsState(initial = true)
|
||||||
|
|
||||||
var enableVoiceMessages by remember { mutableStateOf(false) }
|
var enableVoiceMessages by remember { mutableStateOf(false) }
|
||||||
|
|
|
||||||
|
|
@ -20,7 +20,6 @@ import io.element.android.libraries.matrix.api.core.EventId
|
||||||
import io.element.android.libraries.matrix.api.timeline.Timeline
|
import io.element.android.libraries.matrix.api.timeline.Timeline
|
||||||
|
|
||||||
sealed interface TimelineEvents {
|
sealed interface TimelineEvents {
|
||||||
data class SetHighlightedEvent(val eventId: EventId?) : TimelineEvents
|
|
||||||
data class OnScrollFinished(val firstIndex: Int) : TimelineEvents
|
data class OnScrollFinished(val firstIndex: Int) : TimelineEvents
|
||||||
data class FocusOnEvent(val eventId: EventId) : TimelineEvents
|
data class FocusOnEvent(val eventId: EventId) : TimelineEvents
|
||||||
data object ClearFocusRequestState: TimelineEvents
|
data object ClearFocusRequestState: TimelineEvents
|
||||||
|
|
|
||||||
|
|
@ -75,10 +75,6 @@ class TimelinePresenter @AssistedInject constructor(
|
||||||
@Composable
|
@Composable
|
||||||
override fun present(): TimelineState {
|
override fun present(): TimelineState {
|
||||||
val localScope = rememberCoroutineScope()
|
val localScope = rememberCoroutineScope()
|
||||||
val highlightedEventId: MutableState<EventId?> = rememberSaveable {
|
|
||||||
mutableStateOf(null)
|
|
||||||
}
|
|
||||||
|
|
||||||
val focusedEventId: MutableState<EventId?> = rememberSaveable {
|
val focusedEventId: MutableState<EventId?> = rememberSaveable {
|
||||||
mutableStateOf(null)
|
mutableStateOf(null)
|
||||||
}
|
}
|
||||||
|
|
@ -110,7 +106,6 @@ class TimelinePresenter @AssistedInject constructor(
|
||||||
timelineController.paginate(direction = event.direction)
|
timelineController.paginate(direction = event.direction)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
is TimelineEvents.SetHighlightedEvent -> highlightedEventId.value = event.eventId
|
|
||||||
is TimelineEvents.OnScrollFinished -> {
|
is TimelineEvents.OnScrollFinished -> {
|
||||||
if (isLive) {
|
if (isLive) {
|
||||||
if (event.firstIndex == 0) {
|
if (event.firstIndex == 0) {
|
||||||
|
|
@ -202,7 +197,6 @@ class TimelinePresenter @AssistedInject constructor(
|
||||||
}
|
}
|
||||||
return TimelineState(
|
return TimelineState(
|
||||||
timelineRoomInfo = timelineRoomInfo,
|
timelineRoomInfo = timelineRoomInfo,
|
||||||
highlightedEventId = highlightedEventId.value,
|
|
||||||
timelineItems = timelineItems,
|
timelineItems = timelineItems,
|
||||||
renderReadReceipts = renderReadReceipts,
|
renderReadReceipts = renderReadReceipts,
|
||||||
newEventState = newEventState.value,
|
newEventState = newEventState.value,
|
||||||
|
|
|
||||||
|
|
@ -27,7 +27,6 @@ data class TimelineState(
|
||||||
val timelineItems: ImmutableList<TimelineItem>,
|
val timelineItems: ImmutableList<TimelineItem>,
|
||||||
val timelineRoomInfo: TimelineRoomInfo,
|
val timelineRoomInfo: TimelineRoomInfo,
|
||||||
val renderReadReceipts: Boolean,
|
val renderReadReceipts: Boolean,
|
||||||
val highlightedEventId: EventId?,
|
|
||||||
val newEventState: NewEventState,
|
val newEventState: NewEventState,
|
||||||
val isLive: Boolean,
|
val isLive: Boolean,
|
||||||
val focusedEventId : EventId?,
|
val focusedEventId : EventId?,
|
||||||
|
|
|
||||||
|
|
@ -53,7 +53,6 @@ fun aTimelineState(
|
||||||
timelineItems = timelineItems,
|
timelineItems = timelineItems,
|
||||||
timelineRoomInfo = timelineRoomInfo,
|
timelineRoomInfo = timelineRoomInfo,
|
||||||
renderReadReceipts = renderReadReceipts,
|
renderReadReceipts = renderReadReceipts,
|
||||||
highlightedEventId = null,
|
|
||||||
newEventState = NewEventState.None,
|
newEventState = NewEventState.None,
|
||||||
isLive = true,
|
isLive = true,
|
||||||
focusedEventId = null,
|
focusedEventId = null,
|
||||||
|
|
|
||||||
|
|
@ -146,7 +146,7 @@ fun TimelineView(
|
||||||
renderReadReceipts = state.renderReadReceipts,
|
renderReadReceipts = state.renderReadReceipts,
|
||||||
isLastOutgoingMessage = (timelineItem as? TimelineItem.Event)?.isMine == true &&
|
isLastOutgoingMessage = (timelineItem as? TimelineItem.Event)?.isMine == true &&
|
||||||
state.timelineItems.first().identifier() == timelineItem.identifier(),
|
state.timelineItems.first().identifier() == timelineItem.identifier(),
|
||||||
highlightedItem = state.highlightedEventId?.value,
|
highlightedItem = state.focusedEventId?.value,
|
||||||
onClick = onMessageClicked,
|
onClick = onMessageClicked,
|
||||||
onLongClick = onMessageLongClicked,
|
onLongClick = onMessageLongClicked,
|
||||||
onUserDataClick = onUserDataClicked,
|
onUserDataClick = onUserDataClicked,
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue