From c697baf585c6d16398e87d7bd29b2cf2cd1f96fe Mon Sep 17 00:00:00 2001 From: Jorge Martin Espinosa Date: Wed, 29 Nov 2023 13:06:48 +0100 Subject: [PATCH] Use the right avatar for DMs in DM rooms (#1917) --- changelog.d/1912.bugfix | 1 + .../android/features/messages/impl/MessagesPresenter.kt | 6 +++--- 2 files changed, 4 insertions(+), 3 deletions(-) create mode 100644 changelog.d/1912.bugfix diff --git a/changelog.d/1912.bugfix b/changelog.d/1912.bugfix new file mode 100644 index 0000000000..63dbe0b496 --- /dev/null +++ b/changelog.d/1912.bugfix @@ -0,0 +1 @@ +Use the right avatar for DMs in DM rooms diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/MessagesPresenter.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/MessagesPresenter.kt index 4496469c44..1a8ae63645 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/MessagesPresenter.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/MessagesPresenter.kt @@ -133,10 +133,10 @@ class MessagesPresenter @AssistedInject constructor( val syncUpdateFlow = room.syncUpdateFlow.collectAsState() val userHasPermissionToSendMessage by room.canSendMessageAsState(type = MessageEventType.ROOM_MESSAGE, updateKey = syncUpdateFlow.value) val userHasPermissionToRedact by room.canRedactAsState(updateKey = syncUpdateFlow.value) - val roomName: Async by remember { + val roomName: Async by remember(roomInfo?.name) { derivedStateOf { roomInfo?.name?.let { Async.Success(it) } ?: Async.Uninitialized } } - val roomAvatar: Async by remember { + val roomAvatar: Async by remember(roomInfo?.avatarUrl) { derivedStateOf { roomInfo?.avatarData()?.let { Async.Success(it) } ?: Async.Uninitialized } } @@ -224,7 +224,7 @@ class MessagesPresenter @AssistedInject constructor( return AvatarData( id = id, name = name, - url = avatarUrl, + url = avatarUrl ?: room.avatarUrl, size = AvatarSize.TimelineRoom ) }