Add parameter to avoid copy of objects.
This commit is contained in:
parent
48e8900a2c
commit
5a80f89e12
1 changed files with 50 additions and 27 deletions
|
|
@ -17,7 +17,9 @@
|
||||||
package io.element.android.features.roomdetails.impl
|
package io.element.android.features.roomdetails.impl
|
||||||
|
|
||||||
import androidx.compose.ui.tooling.preview.PreviewParameterProvider
|
import androidx.compose.ui.tooling.preview.PreviewParameterProvider
|
||||||
|
import io.element.android.features.leaveroom.api.LeaveRoomState
|
||||||
import io.element.android.features.leaveroom.api.aLeaveRoomState
|
import io.element.android.features.leaveroom.api.aLeaveRoomState
|
||||||
|
import io.element.android.features.roomdetails.impl.members.details.RoomMemberDetailsState
|
||||||
import io.element.android.features.roomdetails.impl.members.details.aRoomMemberDetailsState
|
import io.element.android.features.roomdetails.impl.members.details.aRoomMemberDetailsState
|
||||||
import io.element.android.libraries.matrix.api.core.UserId
|
import io.element.android.libraries.matrix.api.core.UserId
|
||||||
import io.element.android.libraries.matrix.api.room.RoomMember
|
import io.element.android.libraries.matrix.api.room.RoomMember
|
||||||
|
|
@ -29,15 +31,15 @@ open class RoomDetailsStateProvider : PreviewParameterProvider<RoomDetailsState>
|
||||||
override val values: Sequence<RoomDetailsState>
|
override val values: Sequence<RoomDetailsState>
|
||||||
get() = sequenceOf(
|
get() = sequenceOf(
|
||||||
aRoomDetailsState(),
|
aRoomDetailsState(),
|
||||||
aRoomDetailsState().copy(roomTopic = RoomTopicState.Hidden),
|
aRoomDetailsState(roomTopic = RoomTopicState.Hidden),
|
||||||
aRoomDetailsState().copy(roomTopic = RoomTopicState.CanAddTopic),
|
aRoomDetailsState(roomTopic = RoomTopicState.CanAddTopic),
|
||||||
aRoomDetailsState().copy(isEncrypted = false),
|
aRoomDetailsState(isEncrypted = false),
|
||||||
aRoomDetailsState().copy(roomAlias = null),
|
aRoomDetailsState(roomAlias = null),
|
||||||
aDmRoomDetailsState().copy(roomName = "Daniel"),
|
aDmRoomDetailsState(),
|
||||||
aDmRoomDetailsState(isDmMemberIgnored = true).copy(roomName = "Daniel"),
|
aDmRoomDetailsState(isDmMemberIgnored = true),
|
||||||
aRoomDetailsState().copy(canInvite = true),
|
aRoomDetailsState(canInvite = true),
|
||||||
aRoomDetailsState().copy(isFavorite = true),
|
aRoomDetailsState(isFavorite = true),
|
||||||
aRoomDetailsState().copy(
|
aRoomDetailsState(
|
||||||
canEdit = true,
|
canEdit = true,
|
||||||
// Also test the roomNotificationSettings ALL_MESSAGES in the same screenshot. Icon 'Mute' should be displayed
|
// Also test the roomNotificationSettings ALL_MESSAGES in the same screenshot. Icon 'Mute' should be displayed
|
||||||
roomNotificationSettings = RoomNotificationSettings(mode = RoomNotificationMode.ALL_MESSAGES, isDefault = true)
|
roomNotificationSettings = RoomNotificationSettings(mode = RoomNotificationMode.ALL_MESSAGES, isDefault = true)
|
||||||
|
|
@ -68,32 +70,53 @@ fun aDmRoomMember(
|
||||||
role = role,
|
role = role,
|
||||||
)
|
)
|
||||||
|
|
||||||
fun aRoomDetailsState() = RoomDetailsState(
|
fun aRoomDetailsState(
|
||||||
roomId = "a room id",
|
roomId: String = "a room id",
|
||||||
roomName = "Marketing",
|
roomName: String = "Marketing",
|
||||||
roomAlias = "#marketing:domain.com",
|
roomAlias: String? = "#marketing:domain.com",
|
||||||
roomAvatarUrl = null,
|
roomAvatarUrl: String? = null,
|
||||||
roomTopic = RoomTopicState.ExistingTopic(
|
roomTopic: RoomTopicState = RoomTopicState.ExistingTopic(
|
||||||
"Welcome to #marketing, home of the Marketing team " +
|
"Welcome to #marketing, home of the Marketing team " +
|
||||||
"|| WIKI PAGE: https://domain.org/wiki/Marketing " +
|
"|| WIKI PAGE: https://domain.org/wiki/Marketing " +
|
||||||
"|| MAIL iki/Marketing " +
|
"|| MAIL iki/Marketing " +
|
||||||
"|| MAI iki/Marketing " +
|
"|| MAI iki/Marketing " +
|
||||||
"|| MAI iki/Marketing..."
|
"|| MAI iki/Marketing..."
|
||||||
),
|
),
|
||||||
memberCount = 32,
|
memberCount: Long = 32,
|
||||||
isEncrypted = true,
|
isEncrypted: Boolean = true,
|
||||||
canInvite = false,
|
canInvite: Boolean = false,
|
||||||
canEdit = false,
|
canEdit: Boolean = false,
|
||||||
canShowNotificationSettings = true,
|
canShowNotificationSettings: Boolean = true,
|
||||||
roomType = RoomDetailsType.Room,
|
roomType: RoomDetailsType = RoomDetailsType.Room,
|
||||||
roomMemberDetailsState = null,
|
roomMemberDetailsState: RoomMemberDetailsState? = null,
|
||||||
leaveRoomState = aLeaveRoomState(),
|
leaveRoomState: LeaveRoomState = aLeaveRoomState(),
|
||||||
roomNotificationSettings = RoomNotificationSettings(mode = RoomNotificationMode.MUTE, isDefault = false),
|
roomNotificationSettings: RoomNotificationSettings = RoomNotificationSettings(mode = RoomNotificationMode.MUTE, isDefault = false),
|
||||||
isFavorite = false,
|
isFavorite: Boolean = false,
|
||||||
eventSink = {}
|
eventSink: (RoomDetailsEvent) -> Unit = {},
|
||||||
|
) = RoomDetailsState(
|
||||||
|
roomId = roomId,
|
||||||
|
roomName = roomName,
|
||||||
|
roomAlias = roomAlias,
|
||||||
|
roomAvatarUrl = roomAvatarUrl,
|
||||||
|
roomTopic = roomTopic,
|
||||||
|
memberCount = memberCount,
|
||||||
|
isEncrypted = isEncrypted,
|
||||||
|
canInvite = canInvite,
|
||||||
|
canEdit = canEdit,
|
||||||
|
canShowNotificationSettings = canShowNotificationSettings,
|
||||||
|
roomType = roomType,
|
||||||
|
roomMemberDetailsState = roomMemberDetailsState,
|
||||||
|
leaveRoomState = leaveRoomState,
|
||||||
|
roomNotificationSettings = roomNotificationSettings,
|
||||||
|
isFavorite = isFavorite,
|
||||||
|
eventSink = eventSink
|
||||||
)
|
)
|
||||||
|
|
||||||
fun aDmRoomDetailsState(isDmMemberIgnored: Boolean = false) = aRoomDetailsState().copy(
|
fun aDmRoomDetailsState(
|
||||||
|
isDmMemberIgnored: Boolean = false,
|
||||||
|
roomName: String = "Daniel",
|
||||||
|
) = aRoomDetailsState(
|
||||||
|
roomName = roomName,
|
||||||
roomType = RoomDetailsType.Dm(aDmRoomMember(isIgnored = isDmMemberIgnored)),
|
roomType = RoomDetailsType.Dm(aDmRoomMember(isIgnored = isDmMemberIgnored)),
|
||||||
roomMemberDetailsState = aRoomMemberDetailsState()
|
roomMemberDetailsState = aRoomMemberDetailsState()
|
||||||
)
|
)
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue