diff --git a/vector/src/main/java/im/vector/app/features/spaces/SpaceSummaryController.kt b/vector/src/main/java/im/vector/app/features/spaces/SpaceSummaryController.kt index a334548cfc..3d628fbaa4 100644 --- a/vector/src/main/java/im/vector/app/features/spaces/SpaceSummaryController.kt +++ b/vector/src/main/java/im/vector/app/features/spaces/SpaceSummaryController.kt @@ -170,7 +170,7 @@ class SpaceSummaryController @Inject constructor( if (hasChildren && expanded) { // it's expanded subSpaces?.forEach { child -> - buildSubSpace(summaries, expandedStates, selected, child, 1, 3) + buildSubSpace(groupSummary.roomId, summaries, expandedStates, selected, child, 1, 3) } } } @@ -181,7 +181,8 @@ class SpaceSummaryController @Inject constructor( } } - private fun buildSubSpace(summaries: List?, + private fun buildSubSpace(idPrefix: String, + summaries: List?, expandedStates: Map, selected: RoomGroupingMethod, info: SpaceChildInfo, currentDepth: Int, maxDepth: Int) { @@ -195,9 +196,11 @@ class SpaceSummaryController @Inject constructor( val expanded = expandedStates[childSummary.roomId] == true val isSelected = selected is RoomGroupingMethod.BySpace && childSummary.roomId == selected.space()?.roomId + val id = "$idPrefix:${childSummary.roomId}" + subSpaceSummaryItem { avatarRenderer(host.avatarRenderer) - id(childSummary.roomId) + id(id) hasChildren(!subSpaces.isNullOrEmpty()) selected(isSelected) expanded(expanded) @@ -216,7 +219,7 @@ class SpaceSummaryController @Inject constructor( if (expanded) { subSpaces?.forEach { - buildSubSpace(summaries, expandedStates, selected, it, currentDepth + 1, maxDepth) + buildSubSpace(id, summaries, expandedStates, selected, it, currentDepth + 1, maxDepth) } } }