misc : use new_latest_event api (+ some renaming)

This commit is contained in:
ganfra 2025-11-17 20:53:55 +01:00
parent 43152fc073
commit ca526580fd
42 changed files with 352 additions and 290 deletions

View file

@ -0,0 +1,48 @@
/*
* Copyright (c) 2025 Element Creations Ltd.
*
* SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial.
* Please see LICENSE files in the repository root for full details.
*/
package io.element.android.libraries.matrix.test.room
import io.element.android.libraries.matrix.api.core.UserId
import io.element.android.libraries.matrix.api.roomlist.LatestEventValue
import io.element.android.libraries.matrix.api.timeline.item.event.EventContent
import io.element.android.libraries.matrix.api.timeline.item.event.ProfileDetails
import io.element.android.libraries.matrix.test.A_USER_ID
import io.element.android.libraries.matrix.test.timeline.aMessageContent
import io.element.android.libraries.matrix.test.timeline.aProfileDetails
fun aRemoteLatestEvent(
content: EventContent = aMessageContent(),
timestamp: Long = 0L,
isOwn: Boolean = false,
senderId: UserId = A_USER_ID,
senderProfile: ProfileDetails = aProfileDetails(),
): LatestEventValue.Remote {
return LatestEventValue.Remote(
timestamp = timestamp,
content = content,
senderId = senderId,
senderProfile = senderProfile,
isOwn = isOwn,
)
}
fun aLocalLatestEvent(
content: EventContent = aMessageContent(),
timestamp: Long = 0L,
isSending: Boolean = false,
senderId: UserId = A_USER_ID,
senderProfile: ProfileDetails = aProfileDetails(),
): LatestEventValue.Local {
return LatestEventValue.Local(
timestamp = timestamp,
content = content,
senderId = senderId,
senderProfile = senderProfile,
isSending = isSending,
)
}

View file

@ -18,28 +18,24 @@ import io.element.android.libraries.matrix.api.room.RoomMember
import io.element.android.libraries.matrix.api.room.RoomNotificationMode
import io.element.android.libraries.matrix.api.room.history.RoomHistoryVisibility
import io.element.android.libraries.matrix.api.room.join.JoinRule
import io.element.android.libraries.matrix.api.room.message.RoomMessage
import io.element.android.libraries.matrix.api.room.powerlevels.RoomPowerLevels
import io.element.android.libraries.matrix.api.room.tombstone.SuccessorRoom
import io.element.android.libraries.matrix.api.roomlist.LatestEventValue
import io.element.android.libraries.matrix.api.roomlist.RoomSummary
import io.element.android.libraries.matrix.api.timeline.item.event.EventTimelineItem
import io.element.android.libraries.matrix.api.user.MatrixUser
import io.element.android.libraries.matrix.test.AN_EVENT_ID
import io.element.android.libraries.matrix.test.A_ROOM_ID
import io.element.android.libraries.matrix.test.A_ROOM_NAME
import io.element.android.libraries.matrix.test.A_ROOM_RAW_NAME
import io.element.android.libraries.matrix.test.A_ROOM_TOPIC
import io.element.android.libraries.matrix.test.A_USER_ID
import io.element.android.libraries.matrix.test.timeline.anEventTimelineItem
import kotlinx.collections.immutable.persistentMapOf
import kotlinx.collections.immutable.toImmutableList
fun aRoomSummary(
info: RoomInfo = aRoomInfo(),
lastMessage: RoomMessage? = aRoomMessage(),
latestEventValue: LatestEventValue = aRemoteLatestEvent(),
) = RoomSummary(
info = info,
lastMessage = lastMessage,
latestEvent = latestEventValue,
)
fun aRoomSummary(
@ -79,7 +75,7 @@ fun aRoomSummary(
numUnreadNotifications: Long = 0,
numUnreadMentions: Long = 0,
historyVisibility: RoomHistoryVisibility = RoomHistoryVisibility.Joined,
lastMessage: RoomMessage? = aRoomMessage(),
latestEvent: LatestEventValue = aRemoteLatestEvent(),
roomVersion: String? = "11",
privilegedCreatorRole: Boolean = false,
) = RoomSummary(
@ -120,17 +116,5 @@ fun aRoomSummary(
roomVersion = roomVersion,
privilegedCreatorRole = privilegedCreatorRole,
),
lastMessage = lastMessage,
)
fun aRoomMessage(
eventId: EventId = AN_EVENT_ID,
event: EventTimelineItem = anEventTimelineItem(),
userId: UserId = A_USER_ID,
timestamp: Long = 0L,
) = RoomMessage(
eventId = eventId,
event = event,
sender = userId,
originServerTs = timestamp,
latestEvent = latestEvent,
)

View file

@ -27,7 +27,7 @@ import io.element.android.libraries.matrix.api.timeline.item.event.MessageShield
import io.element.android.libraries.matrix.api.timeline.item.event.MessageType
import io.element.android.libraries.matrix.api.timeline.item.event.PollContent
import io.element.android.libraries.matrix.api.timeline.item.event.ProfileChangeContent
import io.element.android.libraries.matrix.api.timeline.item.event.ProfileTimelineDetails
import io.element.android.libraries.matrix.api.timeline.item.event.ProfileDetails
import io.element.android.libraries.matrix.api.timeline.item.event.Receipt
import io.element.android.libraries.matrix.api.timeline.item.event.SendHandleProvider
import io.element.android.libraries.matrix.api.timeline.item.event.StickerContent
@ -53,7 +53,7 @@ fun anEventTimelineItem(
reactions: ImmutableList<EventReaction> = persistentListOf(),
receipts: ImmutableList<Receipt> = persistentListOf(),
sender: UserId = A_USER_ID,
senderProfile: ProfileTimelineDetails = aProfileTimelineDetails(),
senderProfile: ProfileDetails = aProfileDetails(),
timestamp: Long = 0L,
content: EventContent = aProfileChangeMessageContent(),
debugInfoProvider: TimelineItemDebugInfoProvider = TimelineItemDebugInfoProvider { aTimelineItemDebugInfo() },
@ -79,11 +79,11 @@ fun anEventTimelineItem(
sendHandleProvider = sendHandleProvider,
)
fun aProfileTimelineDetails(
fun aProfileDetails(
displayName: String? = A_USER_NAME,
displayNameAmbiguous: Boolean = false,
avatarUrl: String? = null
): ProfileTimelineDetails = ProfileTimelineDetails.Ready(
): ProfileDetails = ProfileDetails.Ready(
displayName = displayName,
displayNameAmbiguous = displayNameAmbiguous,
avatarUrl = avatarUrl,