mirror of
https://github.com/Novaloop-AG/element-x-android.git
synced 2026-11-03 06:55:41 +00:00
knock : display knocked room in the room list
This commit is contained in:
+25
@@ -38,6 +38,7 @@ import androidx.compose.ui.tooling.preview.PreviewParameter
|
|||||||
import androidx.compose.ui.unit.dp
|
import androidx.compose.ui.unit.dp
|
||||||
import io.element.android.compound.theme.ElementTheme
|
import io.element.android.compound.theme.ElementTheme
|
||||||
import io.element.android.compound.tokens.generated.CompoundIcons
|
import io.element.android.compound.tokens.generated.CompoundIcons
|
||||||
|
import io.element.android.features.roomlist.impl.R
|
||||||
import io.element.android.features.roomlist.impl.RoomListEvents
|
import io.element.android.features.roomlist.impl.RoomListEvents
|
||||||
import io.element.android.features.roomlist.impl.model.RoomListRoomSummary
|
import io.element.android.features.roomlist.impl.model.RoomListRoomSummary
|
||||||
import io.element.android.features.roomlist.impl.model.RoomListRoomSummaryProvider
|
import io.element.android.features.roomlist.impl.model.RoomListRoomSummaryProvider
|
||||||
@@ -122,6 +123,30 @@ internal fun RoomSummaryRow(
|
|||||||
LastMessageAndIndicatorRow(room = room)
|
LastMessageAndIndicatorRow(room = room)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
RoomSummaryDisplayType.KNOCKED -> {
|
||||||
|
RoomSummaryScaffoldRow(
|
||||||
|
room = room,
|
||||||
|
onClick = onClick,
|
||||||
|
onLongClick = {
|
||||||
|
Timber.d("Long click on knocked room")
|
||||||
|
},
|
||||||
|
modifier = modifier
|
||||||
|
) {
|
||||||
|
NameAndTimestampRow(
|
||||||
|
name = room.name,
|
||||||
|
timestamp = room.timestamp,
|
||||||
|
isHighlighted = room.isHighlighted
|
||||||
|
)
|
||||||
|
Text(
|
||||||
|
text = stringResource(id = R.string.screen_join_room_knock_sent_title),
|
||||||
|
maxLines = 1,
|
||||||
|
overflow = TextOverflow.Ellipsis,
|
||||||
|
style = ElementTheme.typography.fontBodyMdRegular,
|
||||||
|
color = ElementTheme.colors.textSecondary,
|
||||||
|
modifier = modifier,
|
||||||
|
)
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+10
-4
@@ -48,10 +48,16 @@ class RoomListRoomSummaryFactory @Inject constructor(
|
|||||||
inviteSender = roomInfo.inviter?.toInviteSender(),
|
inviteSender = roomInfo.inviter?.toInviteSender(),
|
||||||
isDm = roomInfo.isDm,
|
isDm = roomInfo.isDm,
|
||||||
canonicalAlias = roomInfo.canonicalAlias,
|
canonicalAlias = roomInfo.canonicalAlias,
|
||||||
displayType = if (roomInfo.currentUserMembership == CurrentUserMembership.INVITED) {
|
displayType = when (roomInfo.currentUserMembership) {
|
||||||
RoomSummaryDisplayType.INVITE
|
CurrentUserMembership.INVITED -> {
|
||||||
} else {
|
RoomSummaryDisplayType.INVITE
|
||||||
RoomSummaryDisplayType.ROOM
|
}
|
||||||
|
CurrentUserMembership.KNOCKED -> {
|
||||||
|
RoomSummaryDisplayType.KNOCKED
|
||||||
|
}
|
||||||
|
else -> {
|
||||||
|
RoomSummaryDisplayType.ROOM
|
||||||
|
}
|
||||||
},
|
},
|
||||||
heroes = roomInfo.heroes.map { user ->
|
heroes = roomInfo.heroes.map { user ->
|
||||||
user.getAvatarData(size = AvatarSize.RoomListItem)
|
user.getAvatarData(size = AvatarSize.RoomListItem)
|
||||||
|
|||||||
+4
@@ -102,6 +102,10 @@ open class RoomListRoomSummaryProvider : PreviewParameterProvider<RoomListRoomSu
|
|||||||
displayName = "Bob",
|
displayName = "Bob",
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
|
aRoomListRoomSummary(
|
||||||
|
name = "A knocked room",
|
||||||
|
displayType = RoomSummaryDisplayType.KNOCKED,
|
||||||
|
)
|
||||||
),
|
),
|
||||||
).flatten()
|
).flatten()
|
||||||
}
|
}
|
||||||
|
|||||||
+2
-1
@@ -13,5 +13,6 @@ package io.element.android.features.roomlist.impl.model
|
|||||||
enum class RoomSummaryDisplayType {
|
enum class RoomSummaryDisplayType {
|
||||||
PLACEHOLDER,
|
PLACEHOLDER,
|
||||||
ROOM,
|
ROOM,
|
||||||
INVITE
|
INVITE,
|
||||||
|
KNOCKED,
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user