Use extension MatrixUser.getAvatarData and fix compilation issue.
This commit is contained in:
parent
a2ff1dc933
commit
33c76dfd2d
6 changed files with 21 additions and 42 deletions
|
|
@ -86,6 +86,7 @@ import io.element.android.libraries.matrix.api.room.MatrixRoomMembersState
|
||||||
import io.element.android.libraries.matrix.api.room.MessageEventType
|
import io.element.android.libraries.matrix.api.room.MessageEventType
|
||||||
import io.element.android.libraries.matrix.ui.components.AttachmentThumbnailInfo
|
import io.element.android.libraries.matrix.ui.components.AttachmentThumbnailInfo
|
||||||
import io.element.android.libraries.matrix.ui.components.AttachmentThumbnailType
|
import io.element.android.libraries.matrix.ui.components.AttachmentThumbnailType
|
||||||
|
import io.element.android.libraries.matrix.ui.model.getAvatarData
|
||||||
import io.element.android.libraries.matrix.ui.room.canCall
|
import io.element.android.libraries.matrix.ui.room.canCall
|
||||||
import io.element.android.libraries.matrix.ui.room.canRedactOtherAsState
|
import io.element.android.libraries.matrix.ui.room.canRedactOtherAsState
|
||||||
import io.element.android.libraries.matrix.ui.room.canRedactOwnAsState
|
import io.element.android.libraries.matrix.ui.room.canRedactOwnAsState
|
||||||
|
|
@ -257,12 +258,7 @@ class MessagesPresenter @AssistedInject constructor(
|
||||||
|
|
||||||
private fun MatrixRoomInfo.heroes(): List<AvatarData> {
|
private fun MatrixRoomInfo.heroes(): List<AvatarData> {
|
||||||
return heroes.map { user ->
|
return heroes.map { user ->
|
||||||
AvatarData(
|
user.getAvatarData(size = AvatarSize.TimelineRoom)
|
||||||
id = user.userId.value,
|
|
||||||
name = user.displayName,
|
|
||||||
url = user.avatarUrl,
|
|
||||||
size = AvatarSize.TimelineRoom
|
|
||||||
)
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -37,7 +37,9 @@ import io.element.android.libraries.designsystem.theme.components.ListItem
|
||||||
import io.element.android.libraries.designsystem.theme.components.Text
|
import io.element.android.libraries.designsystem.theme.components.Text
|
||||||
import io.element.android.libraries.matrix.api.core.RoomId
|
import io.element.android.libraries.matrix.api.core.RoomId
|
||||||
import io.element.android.libraries.matrix.api.room.RoomNotificationMode
|
import io.element.android.libraries.matrix.api.room.RoomNotificationMode
|
||||||
|
import io.element.android.libraries.matrix.ui.model.getAvatarData
|
||||||
import io.element.android.libraries.ui.strings.CommonStrings
|
import io.element.android.libraries.ui.strings.CommonStrings
|
||||||
|
import kotlinx.collections.immutable.toPersistentList
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A view that allows a user to edit the default notification setting for rooms. This can be set separately
|
* A view that allows a user to edit the default notification setting for rooms. This can be set separately
|
||||||
|
|
@ -117,13 +119,8 @@ fun EditDefaultNotificationSettingView(
|
||||||
CompositeAvatar(
|
CompositeAvatar(
|
||||||
avatarData = avatarData,
|
avatarData = avatarData,
|
||||||
heroes = summary.details.heroes.map { user ->
|
heroes = summary.details.heroes.map { user ->
|
||||||
AvatarData(
|
user.getAvatarData(size = AvatarSize.CustomRoomNotificationSetting)
|
||||||
id = user.userId.value,
|
}.toPersistentList()
|
||||||
name = user.displayName,
|
|
||||||
url = user.avatarUrl,
|
|
||||||
size = AvatarSize.CustomRoomNotificationSetting,
|
|
||||||
)
|
|
||||||
}
|
|
||||||
)
|
)
|
||||||
},
|
},
|
||||||
onClick = {
|
onClick = {
|
||||||
|
|
|
||||||
|
|
@ -81,6 +81,7 @@ import io.element.android.libraries.matrix.api.core.RoomId
|
||||||
import io.element.android.libraries.matrix.api.room.RoomNotificationMode
|
import io.element.android.libraries.matrix.api.room.RoomNotificationMode
|
||||||
import io.element.android.libraries.matrix.api.room.getBestName
|
import io.element.android.libraries.matrix.api.room.getBestName
|
||||||
import io.element.android.libraries.matrix.api.user.MatrixUser
|
import io.element.android.libraries.matrix.api.user.MatrixUser
|
||||||
|
import io.element.android.libraries.matrix.ui.model.getAvatarData
|
||||||
import io.element.android.libraries.testtags.TestTags
|
import io.element.android.libraries.testtags.TestTags
|
||||||
import io.element.android.libraries.testtags.testTag
|
import io.element.android.libraries.testtags.testTag
|
||||||
import io.element.android.libraries.ui.strings.CommonStrings
|
import io.element.android.libraries.ui.strings.CommonStrings
|
||||||
|
|
@ -339,12 +340,7 @@ private fun RoomHeaderSection(
|
||||||
CompositeAvatar(
|
CompositeAvatar(
|
||||||
avatarData = AvatarData(roomId.value, roomName, avatarUrl, AvatarSize.RoomHeader),
|
avatarData = AvatarData(roomId.value, roomName, avatarUrl, AvatarSize.RoomHeader),
|
||||||
heroes = heroes.map { user ->
|
heroes = heroes.map { user ->
|
||||||
AvatarData(
|
user.getAvatarData(size = AvatarSize.RoomHeader)
|
||||||
id = user.userId.value,
|
|
||||||
name = user.displayName,
|
|
||||||
url = user.avatarUrl,
|
|
||||||
size = AvatarSize.RoomHeader
|
|
||||||
)
|
|
||||||
}.toPersistentList(),
|
}.toPersistentList(),
|
||||||
modifier = Modifier
|
modifier = Modifier
|
||||||
.clickable(enabled = avatarUrl != null) { openAvatarPreview(avatarUrl!!) }
|
.clickable(enabled = avatarUrl != null) { openAvatarPreview(avatarUrl!!) }
|
||||||
|
|
|
||||||
|
|
@ -26,6 +26,7 @@ import io.element.android.libraries.eventformatter.api.RoomLastMessageFormatter
|
||||||
import io.element.android.libraries.matrix.api.core.RoomId
|
import io.element.android.libraries.matrix.api.core.RoomId
|
||||||
import io.element.android.libraries.matrix.api.room.CurrentUserMembership
|
import io.element.android.libraries.matrix.api.room.CurrentUserMembership
|
||||||
import io.element.android.libraries.matrix.api.roomlist.RoomSummary
|
import io.element.android.libraries.matrix.api.roomlist.RoomSummary
|
||||||
|
import io.element.android.libraries.matrix.ui.model.getAvatarData
|
||||||
import io.element.android.libraries.matrix.ui.model.toInviteSender
|
import io.element.android.libraries.matrix.ui.model.toInviteSender
|
||||||
import kotlinx.collections.immutable.persistentListOf
|
import kotlinx.collections.immutable.persistentListOf
|
||||||
import kotlinx.collections.immutable.toImmutableList
|
import kotlinx.collections.immutable.toImmutableList
|
||||||
|
|
@ -94,13 +95,8 @@ class RoomListRoomSummaryFactory @Inject constructor(
|
||||||
} else {
|
} else {
|
||||||
RoomSummaryDisplayType.ROOM
|
RoomSummaryDisplayType.ROOM
|
||||||
},
|
},
|
||||||
heroes = roomSummary.details.heroes.map {
|
heroes = roomSummary.details.heroes.map { user ->
|
||||||
AvatarData(
|
user.getAvatarData(size = AvatarSize.RoomListItem)
|
||||||
id = it.userId.value,
|
|
||||||
name = it.displayName,
|
|
||||||
url = it.avatarUrl,
|
|
||||||
size = AvatarSize.RoomListItem,
|
|
||||||
)
|
|
||||||
}.toImmutableList(),
|
}.toImmutableList(),
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -45,7 +45,9 @@ import io.element.android.libraries.designsystem.theme.components.Icon
|
||||||
import io.element.android.libraries.designsystem.theme.components.Surface
|
import io.element.android.libraries.designsystem.theme.components.Surface
|
||||||
import io.element.android.libraries.designsystem.theme.components.Text
|
import io.element.android.libraries.designsystem.theme.components.Text
|
||||||
import io.element.android.libraries.matrix.api.roomlist.RoomSummaryDetails
|
import io.element.android.libraries.matrix.api.roomlist.RoomSummaryDetails
|
||||||
|
import io.element.android.libraries.matrix.ui.model.getAvatarData
|
||||||
import io.element.android.libraries.ui.strings.CommonStrings
|
import io.element.android.libraries.ui.strings.CommonStrings
|
||||||
|
import kotlinx.collections.immutable.toImmutableList
|
||||||
|
|
||||||
@Composable
|
@Composable
|
||||||
fun SelectedRoom(
|
fun SelectedRoom(
|
||||||
|
|
@ -67,14 +69,9 @@ fun SelectedRoom(
|
||||||
roomSummary.avatarUrl,
|
roomSummary.avatarUrl,
|
||||||
AvatarSize.SelectedRoom,
|
AvatarSize.SelectedRoom,
|
||||||
),
|
),
|
||||||
heroes = roomSummary.heroes.map {
|
heroes = roomSummary.heroes.map { user ->
|
||||||
AvatarData(
|
user.getAvatarData(size = AvatarSize.SelectedRoom)
|
||||||
id = it.userId.value,
|
}.toImmutableList()
|
||||||
name = it.displayName,
|
|
||||||
url = it.avatarUrl,
|
|
||||||
size = AvatarSize.SelectedRoom
|
|
||||||
)
|
|
||||||
}
|
|
||||||
)
|
)
|
||||||
Text(
|
Text(
|
||||||
// If name is null, we do not have space to render "No room name", so just use `#` here.
|
// If name is null, we do not have space to render "No room name", so just use `#` here.
|
||||||
|
|
|
||||||
|
|
@ -59,9 +59,11 @@ import io.element.android.libraries.designsystem.theme.components.TopAppBar
|
||||||
import io.element.android.libraries.matrix.api.core.RoomId
|
import io.element.android.libraries.matrix.api.core.RoomId
|
||||||
import io.element.android.libraries.matrix.api.roomlist.RoomSummaryDetails
|
import io.element.android.libraries.matrix.api.roomlist.RoomSummaryDetails
|
||||||
import io.element.android.libraries.matrix.ui.components.SelectedRoom
|
import io.element.android.libraries.matrix.ui.components.SelectedRoom
|
||||||
|
import io.element.android.libraries.matrix.ui.model.getAvatarData
|
||||||
import io.element.android.libraries.roomselect.api.RoomSelectMode
|
import io.element.android.libraries.roomselect.api.RoomSelectMode
|
||||||
import io.element.android.libraries.ui.strings.CommonStrings
|
import io.element.android.libraries.ui.strings.CommonStrings
|
||||||
import kotlinx.collections.immutable.ImmutableList
|
import kotlinx.collections.immutable.ImmutableList
|
||||||
|
import kotlinx.collections.immutable.toPersistentList
|
||||||
|
|
||||||
@OptIn(ExperimentalMaterial3Api::class)
|
@OptIn(ExperimentalMaterial3Api::class)
|
||||||
@Composable
|
@Composable
|
||||||
|
|
@ -228,14 +230,9 @@ private fun RoomSummaryView(
|
||||||
url = summary.avatarUrl,
|
url = summary.avatarUrl,
|
||||||
size = AvatarSize.RoomSelectRoomListItem,
|
size = AvatarSize.RoomSelectRoomListItem,
|
||||||
),
|
),
|
||||||
heroes = summary.heroes.map {
|
heroes = summary.heroes.map { user ->
|
||||||
AvatarData(
|
user.getAvatarData(size = AvatarSize.RoomSelectRoomListItem)
|
||||||
it.userId.value,
|
}.toPersistentList()
|
||||||
it.displayName,
|
|
||||||
it.avatarUrl,
|
|
||||||
AvatarSize.RoomSelectRoomListItem,
|
|
||||||
)
|
|
||||||
}
|
|
||||||
)
|
)
|
||||||
Column(
|
Column(
|
||||||
modifier = Modifier
|
modifier = Modifier
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue