From a12394a77d003e420f3bb70ae04e70cfcea7c15c Mon Sep 17 00:00:00 2001 From: ganfra Date: Fri, 23 Jan 2026 12:12:12 +0100 Subject: [PATCH] Fix RoomDetailsEditView avatar picker for spaces - Use correct AvatarType based on whether editing a space or room - Add roomRawName to remember key to update avatar when name changes - Respect canChangeAvatar state to disable picker when not permitted --- .../features/roomdetailsedit/impl/RoomDetailsEditView.kt | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/features/roomdetailsedit/impl/src/main/kotlin/io/element/android/features/roomdetailsedit/impl/RoomDetailsEditView.kt b/features/roomdetailsedit/impl/src/main/kotlin/io/element/android/features/roomdetailsedit/impl/RoomDetailsEditView.kt index d2de2ba260..3fd9daef3e 100644 --- a/features/roomdetailsedit/impl/src/main/kotlin/io/element/android/features/roomdetailsedit/impl/RoomDetailsEditView.kt +++ b/features/roomdetailsedit/impl/src/main/kotlin/io/element/android/features/roomdetailsedit/impl/RoomDetailsEditView.kt @@ -101,9 +101,9 @@ fun RoomDetailsEditView( .verticalScroll(rememberScrollState()) ) { Spacer(modifier = Modifier.height(24.dp)) - val avatarPickerState = remember(state.roomAvatarUrl) { + val avatarPickerState = remember(state.roomAvatarUrl, state.roomRawName) { val size = AvatarSize.EditRoomDetails - val type = AvatarType.Room() + val type = if (state.isSpace) AvatarType.Space() else AvatarType.Room() AvatarPickerState.Selected( avatarData = AvatarData(id = state.roomId.value, name = state.roomRawName, size = size, url = state.roomAvatarUrl), type = type @@ -112,6 +112,7 @@ fun RoomDetailsEditView( AvatarPickerView( state = avatarPickerState, onClick = ::onAvatarClick, + enabled = state.canChangeAvatar, modifier = Modifier.align(Alignment.CenterHorizontally), ) Spacer(modifier = Modifier.height(32.dp))