mirror of
https://github.com/Novaloop-AG/element-x-android.git
synced 2026-10-31 16:22:49 +00:00
Move SessionData.toMatrixUser() extension to a common place, then use it across the codebase.
This commit is contained in:
+2
-7
@@ -8,8 +8,8 @@
|
||||
|
||||
package io.element.android.features.home.impl
|
||||
|
||||
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.SessionData
|
||||
import kotlinx.collections.immutable.ImmutableList
|
||||
import kotlinx.collections.immutable.toImmutableList
|
||||
@@ -32,12 +32,7 @@ class CurrentUserWithNeighborsBuilder {
|
||||
matrixUser
|
||||
} else {
|
||||
// Use the data from the DB
|
||||
MatrixUser(
|
||||
userId = UserId(it.userId),
|
||||
displayName = it.userDisplayName,
|
||||
avatarUrl = it.userAvatarUrl,
|
||||
avatarThumbnail = it.userAvatarData,
|
||||
)
|
||||
it.toMatrixUser()
|
||||
}
|
||||
}
|
||||
.let { sessionList ->
|
||||
|
||||
+2
-10
@@ -29,8 +29,7 @@ import io.element.android.libraries.di.annotations.SessionCoroutineScope
|
||||
import io.element.android.libraries.featureflag.api.FeatureFlagService
|
||||
import io.element.android.libraries.featureflag.api.FeatureFlags
|
||||
import io.element.android.libraries.matrix.api.MatrixClient
|
||||
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.preferences.api.store.AppPreferencesStore
|
||||
import io.element.android.libraries.sessionstorage.api.SessionStore
|
||||
import io.element.android.services.analytics.api.AnalyticsService
|
||||
@@ -85,14 +84,7 @@ class PreferencesRootPresenter(
|
||||
sessionStore.sessionsFlow().map { list ->
|
||||
list
|
||||
.filter { it.userId != matrixClient.sessionId.value }
|
||||
.map {
|
||||
MatrixUser(
|
||||
userId = UserId(it.userId),
|
||||
displayName = it.userDisplayName,
|
||||
avatarUrl = it.userAvatarUrl,
|
||||
avatarThumbnail = it.userAvatarData,
|
||||
)
|
||||
}
|
||||
.map { it.toMatrixUser() }
|
||||
.toImmutableList()
|
||||
}
|
||||
}.collectAsState(initial = persistentListOf())
|
||||
|
||||
+1
-8
@@ -19,7 +19,7 @@ import dev.zacsweers.metro.AssistedInject
|
||||
import io.element.android.libraries.architecture.Presenter
|
||||
import io.element.android.libraries.matrix.api.core.SessionId
|
||||
import io.element.android.libraries.matrix.api.user.MatrixUser
|
||||
import io.element.android.libraries.sessionstorage.api.SessionData
|
||||
import io.element.android.libraries.matrix.api.user.toMatrixUser
|
||||
import io.element.android.libraries.sessionstorage.api.SessionStore
|
||||
import kotlinx.coroutines.flow.map
|
||||
import kotlinx.coroutines.flow.mapNotNull
|
||||
@@ -58,11 +58,4 @@ class SignedOutPresenter(
|
||||
eventSink = ::handleEvent,
|
||||
)
|
||||
}
|
||||
|
||||
private fun SessionData.toMatrixUser() = MatrixUser(
|
||||
userId = sessionId,
|
||||
displayName = userDisplayName,
|
||||
avatarUrl = userAvatarUrl,
|
||||
avatarThumbnail = userAvatarData,
|
||||
)
|
||||
}
|
||||
|
||||
+2
-10
@@ -29,6 +29,7 @@ import io.element.android.libraries.dateformatter.api.DateFormatterMode
|
||||
import io.element.android.libraries.di.annotations.SessionCoroutineScope
|
||||
import io.element.android.libraries.matrix.api.core.SessionId
|
||||
import io.element.android.libraries.matrix.api.user.MatrixUser
|
||||
import io.element.android.libraries.matrix.api.user.toMatrixUser
|
||||
import io.element.android.libraries.matrix.api.verification.SessionVerificationRequestDetails
|
||||
import io.element.android.libraries.matrix.api.verification.SessionVerificationService
|
||||
import io.element.android.libraries.matrix.api.verification.VerificationFlowState
|
||||
@@ -101,16 +102,7 @@ class IncomingVerificationPresenter(
|
||||
}
|
||||
val currentUser by remember {
|
||||
sessionStore.sessionsFlow().mapNotNull { sessions ->
|
||||
sessions.find { it.userId == sessionId.value }?.let { sessionData ->
|
||||
MatrixUser(
|
||||
userId = sessionId,
|
||||
displayName = sessionData.userDisplayName,
|
||||
avatarUrl = sessionData.userAvatarUrl,
|
||||
// Locally stored avatar, used as a fallback when the avatar cannot be loaded,
|
||||
// for instance for a session which is not the current one
|
||||
avatarThumbnail = sessionData.userAvatarData,
|
||||
)
|
||||
}
|
||||
sessions.find { it.userId == sessionId.value }?.toMatrixUser()
|
||||
}
|
||||
}.collectAsState(MatrixUser(sessionId))
|
||||
val step by remember {
|
||||
|
||||
Reference in New Issue
Block a user