knock : display alias in knocked room item list
This commit is contained in:
parent
91574d3dfa
commit
b5b83660c2
2 changed files with 82 additions and 68 deletions
|
|
@ -12,6 +12,7 @@ import androidx.compose.foundation.combinedClickable
|
||||||
import androidx.compose.foundation.interaction.MutableInteractionSource
|
import androidx.compose.foundation.interaction.MutableInteractionSource
|
||||||
import androidx.compose.foundation.layout.Arrangement
|
import androidx.compose.foundation.layout.Arrangement
|
||||||
import androidx.compose.foundation.layout.Arrangement.Absolute.spacedBy
|
import androidx.compose.foundation.layout.Arrangement.Absolute.spacedBy
|
||||||
|
import androidx.compose.foundation.layout.Box
|
||||||
import androidx.compose.foundation.layout.Column
|
import androidx.compose.foundation.layout.Column
|
||||||
import androidx.compose.foundation.layout.ColumnScope
|
import androidx.compose.foundation.layout.ColumnScope
|
||||||
import androidx.compose.foundation.layout.IntrinsicSize
|
import androidx.compose.foundation.layout.IntrinsicSize
|
||||||
|
|
@ -73,78 +74,86 @@ internal fun RoomSummaryRow(
|
||||||
eventSink: (RoomListEvents) -> Unit,
|
eventSink: (RoomListEvents) -> Unit,
|
||||||
modifier: Modifier = Modifier,
|
modifier: Modifier = Modifier,
|
||||||
) {
|
) {
|
||||||
when (room.displayType) {
|
Box(modifier = modifier) {
|
||||||
RoomSummaryDisplayType.PLACEHOLDER -> {
|
when (room.displayType) {
|
||||||
RoomSummaryPlaceholderRow(modifier = modifier)
|
RoomSummaryDisplayType.PLACEHOLDER -> {
|
||||||
}
|
RoomSummaryPlaceholderRow()
|
||||||
RoomSummaryDisplayType.INVITE -> {
|
}
|
||||||
RoomSummaryScaffoldRow(
|
RoomSummaryDisplayType.INVITE -> {
|
||||||
room = room,
|
RoomSummaryScaffoldRow(
|
||||||
onClick = onClick,
|
room = room,
|
||||||
onLongClick = {
|
onClick = onClick,
|
||||||
Timber.d("Long click on invite room")
|
onLongClick = {
|
||||||
},
|
Timber.d("Long click on invite room")
|
||||||
modifier = modifier
|
},
|
||||||
) {
|
) {
|
||||||
InviteNameAndIndicatorRow(name = room.name)
|
InviteNameAndIndicatorRow(name = room.name)
|
||||||
InviteSubtitle(isDm = room.isDm, inviteSender = room.inviteSender, canonicalAlias = room.canonicalAlias)
|
InviteSubtitle(isDm = room.isDm, inviteSender = room.inviteSender, canonicalAlias = room.canonicalAlias)
|
||||||
if (!room.isDm && room.inviteSender != null) {
|
if (!room.isDm && room.inviteSender != null) {
|
||||||
Spacer(modifier = Modifier.height(4.dp))
|
Spacer(modifier = Modifier.height(4.dp))
|
||||||
InviteSenderView(
|
InviteSenderView(
|
||||||
modifier = Modifier.fillMaxWidth(),
|
modifier = Modifier.fillMaxWidth(),
|
||||||
inviteSender = room.inviteSender,
|
inviteSender = room.inviteSender,
|
||||||
|
)
|
||||||
|
}
|
||||||
|
Spacer(modifier = Modifier.height(12.dp))
|
||||||
|
InviteButtonsRow(
|
||||||
|
onAcceptClick = {
|
||||||
|
eventSink(RoomListEvents.AcceptInvite(room))
|
||||||
|
},
|
||||||
|
onDeclineClick = {
|
||||||
|
eventSink(RoomListEvents.DeclineInvite(room))
|
||||||
|
}
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
Spacer(modifier = Modifier.height(12.dp))
|
}
|
||||||
InviteButtonsRow(
|
RoomSummaryDisplayType.ROOM -> {
|
||||||
onAcceptClick = {
|
RoomSummaryScaffoldRow(
|
||||||
eventSink(RoomListEvents.AcceptInvite(room))
|
room = room,
|
||||||
|
onClick = onClick,
|
||||||
|
onLongClick = {
|
||||||
|
eventSink(RoomListEvents.ShowContextMenu(room))
|
||||||
},
|
},
|
||||||
onDeclineClick = {
|
) {
|
||||||
eventSink(RoomListEvents.DeclineInvite(room))
|
NameAndTimestampRow(
|
||||||
|
name = room.name,
|
||||||
|
timestamp = room.timestamp,
|
||||||
|
isHighlighted = room.isHighlighted
|
||||||
|
)
|
||||||
|
LastMessageAndIndicatorRow(room = room)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
RoomSummaryDisplayType.KNOCKED -> {
|
||||||
|
RoomSummaryScaffoldRow(
|
||||||
|
room = room,
|
||||||
|
onClick = onClick,
|
||||||
|
onLongClick = {
|
||||||
|
Timber.d("Long click on knocked room")
|
||||||
|
},
|
||||||
|
) {
|
||||||
|
NameAndTimestampRow(
|
||||||
|
name = room.name,
|
||||||
|
timestamp = null,
|
||||||
|
isHighlighted = room.isHighlighted
|
||||||
|
)
|
||||||
|
if (room.canonicalAlias != null) {
|
||||||
|
Text(
|
||||||
|
text = room.canonicalAlias.value,
|
||||||
|
maxLines = 1,
|
||||||
|
overflow = TextOverflow.Ellipsis,
|
||||||
|
style = ElementTheme.typography.fontBodyMdRegular,
|
||||||
|
color = ElementTheme.colors.textSecondary,
|
||||||
|
)
|
||||||
|
Spacer(modifier = Modifier.height(4.dp))
|
||||||
}
|
}
|
||||||
)
|
Text(
|
||||||
}
|
text = stringResource(id = R.string.screen_join_room_knock_sent_title),
|
||||||
}
|
maxLines = 1,
|
||||||
RoomSummaryDisplayType.ROOM -> {
|
overflow = TextOverflow.Ellipsis,
|
||||||
RoomSummaryScaffoldRow(
|
style = ElementTheme.typography.fontBodyMdRegular,
|
||||||
room = room,
|
color = ElementTheme.colors.textSecondary,
|
||||||
onClick = onClick,
|
)
|
||||||
onLongClick = {
|
}
|
||||||
eventSink(RoomListEvents.ShowContextMenu(room))
|
|
||||||
},
|
|
||||||
modifier = modifier
|
|
||||||
) {
|
|
||||||
NameAndTimestampRow(
|
|
||||||
name = room.name,
|
|
||||||
timestamp = room.timestamp,
|
|
||||||
isHighlighted = room.isHighlighted
|
|
||||||
)
|
|
||||||
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,
|
|
||||||
)
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -105,6 +105,11 @@ open class RoomListRoomSummaryProvider : PreviewParameterProvider<RoomListRoomSu
|
||||||
aRoomListRoomSummary(
|
aRoomListRoomSummary(
|
||||||
name = "A knocked room",
|
name = "A knocked room",
|
||||||
displayType = RoomSummaryDisplayType.KNOCKED,
|
displayType = RoomSummaryDisplayType.KNOCKED,
|
||||||
|
),
|
||||||
|
aRoomListRoomSummary(
|
||||||
|
name = "A knocked room with alias",
|
||||||
|
canonicalAlias = RoomAlias("#knockable:matrix.org"),
|
||||||
|
displayType = RoomSummaryDisplayType.KNOCKED,
|
||||||
)
|
)
|
||||||
),
|
),
|
||||||
).flatten()
|
).flatten()
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue