Move SessionData.toMatrixUser() extension to a common place, then use it across the codebase.

This commit is contained in:
Benoit Marty
2026-10-02 11:44:23 +02:00
parent def8f7f348
commit dc031dd0e6
7 changed files with 33 additions and 44 deletions
@@ -13,8 +13,8 @@ import androidx.compose.runtime.getValue
import androidx.compose.runtime.produceState
import dev.zacsweers.metro.Inject
import io.element.android.libraries.architecture.Presenter
import io.element.android.libraries.matrix.api.core.UserId
import io.element.android.libraries.matrix.api.user.MatrixUser
import io.element.android.libraries.matrix.api.user.toMatrixUser
import io.element.android.libraries.sessionstorage.api.SessionStore
import kotlinx.collections.immutable.ImmutableList
import kotlinx.collections.immutable.persistentListOf
@@ -29,14 +29,7 @@ class AccountSelectPresenter(
val accounts by produceState<ImmutableList<MatrixUser>>(persistentListOf()) {
// Do not use sessionStore.sessionsFlow() to not make it change when an account is selected.
value = sessionStore.getAllSessions()
.map {
MatrixUser(
userId = UserId(it.userId),
displayName = it.userDisplayName,
avatarUrl = it.userAvatarUrl,
avatarThumbnail = it.userAvatarData,
)
}
.map { it.toMatrixUser() }
.toImmutableList()
}