mirror of
https://github.com/Novaloop-AG/element-x-android.git
synced 2026-11-03 16:10:00 +00:00
Create fun ProfileDetails.toMatrixUser method
This commit is contained in:
+2
-5
@@ -125,6 +125,7 @@ import io.element.android.libraries.matrix.api.timeline.item.event.getAvatarUrl
|
|||||||
import io.element.android.libraries.matrix.api.timeline.item.event.getDisambiguatedDisplayName
|
import io.element.android.libraries.matrix.api.timeline.item.event.getDisambiguatedDisplayName
|
||||||
import io.element.android.libraries.matrix.api.timeline.item.event.getDisplayName
|
import io.element.android.libraries.matrix.api.timeline.item.event.getDisplayName
|
||||||
import io.element.android.libraries.matrix.api.timeline.item.event.mediaSources
|
import io.element.android.libraries.matrix.api.timeline.item.event.mediaSources
|
||||||
|
import io.element.android.libraries.matrix.api.timeline.item.event.toMatrixUser
|
||||||
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.media.contentvalidation.collectOverallState
|
import io.element.android.libraries.matrix.ui.media.contentvalidation.collectOverallState
|
||||||
import io.element.android.libraries.matrix.ui.media.contentvalidation.rememberEventContentValidationState
|
import io.element.android.libraries.matrix.ui.media.contentvalidation.rememberEventContentValidationState
|
||||||
@@ -207,11 +208,7 @@ fun TimelineItemEventRow(
|
|||||||
}
|
}
|
||||||
|
|
||||||
fun onUserDataClick() {
|
fun onUserDataClick() {
|
||||||
val sender = MatrixUser(
|
val sender = event.senderProfile.toMatrixUser(event.senderId)
|
||||||
userId = event.senderId,
|
|
||||||
displayName = event.senderProfile.getDisplayName(),
|
|
||||||
avatarUrl = event.senderProfile.getAvatarUrl(),
|
|
||||||
)
|
|
||||||
onUserDataClick(sender)
|
onUserDataClick(sender)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+18
@@ -11,6 +11,7 @@ package io.element.android.libraries.matrix.api.timeline.item.event
|
|||||||
import androidx.compose.runtime.Immutable
|
import androidx.compose.runtime.Immutable
|
||||||
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.user.DisplayedStatus
|
import io.element.android.libraries.matrix.api.user.DisplayedStatus
|
||||||
|
import io.element.android.libraries.matrix.api.user.MatrixUser
|
||||||
|
|
||||||
@Immutable
|
@Immutable
|
||||||
sealed interface ProfileDetails {
|
sealed interface ProfileDetails {
|
||||||
@@ -60,3 +61,20 @@ fun ProfileDetails.getAvatarUrl(): String? {
|
|||||||
else -> null
|
else -> null
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fun ProfileDetails.toMatrixUser(userId: UserId): MatrixUser {
|
||||||
|
return when (this) {
|
||||||
|
is ProfileDetails.Ready -> MatrixUser(
|
||||||
|
userId = userId,
|
||||||
|
displayName = displayName,
|
||||||
|
avatarUrl = avatarUrl,
|
||||||
|
displayedStatus = displayedStatus,
|
||||||
|
)
|
||||||
|
else -> MatrixUser(
|
||||||
|
userId = userId,
|
||||||
|
displayName = null,
|
||||||
|
avatarUrl = null,
|
||||||
|
displayedStatus = null,
|
||||||
|
)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user