mirror of
https://github.com/Novaloop-AG/element-x-android.git
synced 2026-11-02 20:38:40 +00:00
Add thread decoration with latest event details (#5355)
* Add thread decoration with latest event details * Update screenshots --------- Co-authored-by: ElementBot <android@element.io>
This commit is contained in:
committed by
GitHub
parent
5cadd37fa6
commit
0a5c178fe8
+6
-1
@@ -45,7 +45,12 @@ class PollHistoryItemsFactory(
|
||||
return when (timelineItem) {
|
||||
is MatrixTimelineItem.Event -> {
|
||||
val pollContent = timelineItem.event.content as? PollContent ?: return null
|
||||
val pollContentState = pollContentStateFactory.create(timelineItem.event, pollContent)
|
||||
val pollContentState = pollContentStateFactory.create(
|
||||
eventId = timelineItem.eventId,
|
||||
isEditable = timelineItem.event.isEditable,
|
||||
isOwn = timelineItem.event.isOwn,
|
||||
content = pollContent,
|
||||
)
|
||||
PollHistoryItem(
|
||||
formattedDate = dateFormatter.format(
|
||||
timestamp = timelineItem.event.timestamp,
|
||||
|
||||
+8
-6
@@ -14,8 +14,8 @@ import io.element.android.features.poll.api.pollcontent.PollContentState
|
||||
import io.element.android.features.poll.api.pollcontent.PollContentStateFactory
|
||||
import io.element.android.libraries.di.RoomScope
|
||||
import io.element.android.libraries.matrix.api.MatrixClient
|
||||
import io.element.android.libraries.matrix.api.core.EventId
|
||||
import io.element.android.libraries.matrix.api.poll.isDisclosed
|
||||
import io.element.android.libraries.matrix.api.timeline.item.event.EventTimelineItem
|
||||
import io.element.android.libraries.matrix.api.timeline.item.event.PollContent
|
||||
import kotlinx.collections.immutable.toImmutableList
|
||||
|
||||
@@ -25,8 +25,10 @@ class DefaultPollContentStateFactory(
|
||||
private val matrixClient: MatrixClient,
|
||||
) : PollContentStateFactory {
|
||||
override suspend fun create(
|
||||
event: EventTimelineItem,
|
||||
content: PollContent
|
||||
eventId: EventId?,
|
||||
isEditable: Boolean,
|
||||
isOwn: Boolean,
|
||||
content: PollContent,
|
||||
): PollContentState {
|
||||
val totalVoteCount = content.votes.flatMap { it.value }.size
|
||||
val myVotes = content.votes.filter { matrixClient.sessionId in it.value }.keys
|
||||
@@ -59,13 +61,13 @@ class DefaultPollContentStateFactory(
|
||||
}
|
||||
|
||||
return PollContentState(
|
||||
eventId = event.eventId,
|
||||
eventId = eventId,
|
||||
question = content.question,
|
||||
answerItems = answerItems.toImmutableList(),
|
||||
pollKind = content.kind,
|
||||
isPollEditable = event.isEditable,
|
||||
isPollEditable = isEditable,
|
||||
isPollEnded = isPollEnded,
|
||||
isMine = event.isOwn,
|
||||
isMine = isOwn,
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user