From 29dc114d1a6b4bc7f793ed5ff7fbd0be7b21663f Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Wed, 4 May 2022 10:06:26 +0200 Subject: [PATCH 1/4] Format the file --- .../features/spaces/SpaceSummaryController.kt | 22 ++++++++++++------- 1 file changed, 14 insertions(+), 8 deletions(-) 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 e88af192630..11f0501c03c 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 @@ -42,7 +42,8 @@ import javax.inject.Inject class SpaceSummaryController @Inject constructor( private val avatarRenderer: AvatarRenderer, private val colorProvider: ColorProvider, - private val stringProvider: StringProvider) : EpoxyController() { + private val stringProvider: StringProvider, +) : EpoxyController() { var callback: Callback? = null private var viewState: SpaceListViewState? = null @@ -62,7 +63,8 @@ class SpaceSummaryController @Inject constructor( nonNullViewState.selectedGroupingMethod, nonNullViewState.rootSpacesOrdered, nonNullViewState.expandedStates, - nonNullViewState.homeAggregateCount) + nonNullViewState.homeAggregateCount + ) if (!nonNullViewState.legacyGroups.isNullOrEmpty()) { genericFooterItem { @@ -82,8 +84,10 @@ class SpaceSummaryController @Inject constructor( avatarRenderer(host.avatarRenderer) id("all_communities") matrixItem(mxItem.copy(displayName = host.stringProvider.getString(R.string.group_all_communities))) - selected(nonNullViewState.selectedGroupingMethod is RoomGroupingMethod.ByLegacyGroup && - nonNullViewState.selectedGroupingMethod.group() == null) + selected( + nonNullViewState.selectedGroupingMethod is RoomGroupingMethod.ByLegacyGroup && + nonNullViewState.selectedGroupingMethod.group() == null + ) listener { host.callback?.onGroupSelected(null) } } } @@ -93,8 +97,10 @@ class SpaceSummaryController @Inject constructor( avatarRenderer(host.avatarRenderer) id(groupSummary.groupId) matrixItem(groupSummary.toMatrixItem()) - selected(nonNullViewState.selectedGroupingMethod is RoomGroupingMethod.ByLegacyGroup && - nonNullViewState.selectedGroupingMethod.group()?.groupId == groupSummary.groupId) + selected( + nonNullViewState.selectedGroupingMethod is RoomGroupingMethod.ByLegacyGroup && + nonNullViewState.selectedGroupingMethod.group()?.groupId == groupSummary.groupId + ) listener { host.callback?.onGroupSelected(groupSummary) } } } @@ -112,8 +118,8 @@ class SpaceSummaryController @Inject constructor( } // show invites on top - - summaries?.filter { it.membership == Membership.INVITE } + summaries + ?.filter { it.membership == Membership.INVITE } ?.forEach { roomSummary -> spaceSummaryItem { avatarRenderer(host.avatarRenderer) From 97702317dd4f0290a4a79f2fa25e1d2d6cac4b1a Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Wed, 4 May 2022 10:03:53 +0200 Subject: [PATCH 2/4] Rename var --- .../features/spaces/SpaceSummaryController.kt | 24 +++++++++---------- 1 file changed, 12 insertions(+), 12 deletions(-) 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 11f0501c03c..010a5965a9c 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 @@ -141,33 +141,33 @@ class SpaceSummaryController @Inject constructor( } rootSpaces - ?.forEach { groupSummary -> - val isSelected = selected is RoomGroupingMethod.BySpace && groupSummary.roomId == selected.space()?.roomId + ?.forEach { roomSummary -> + val isSelected = selected is RoomGroupingMethod.BySpace && roomSummary.roomId == selected.space()?.roomId // does it have children? - val subSpaces = groupSummary.spaceChildren?.filter { childInfo -> + val subSpaces = roomSummary.spaceChildren?.filter { childInfo -> summaries?.any { it.roomId == childInfo.childRoomId }.orFalse() }?.sortedWith(subSpaceComparator) val hasChildren = (subSpaces?.size ?: 0) > 0 - val expanded = expandedStates[groupSummary.roomId] == true + val expanded = expandedStates[roomSummary.roomId] == true spaceSummaryItem { avatarRenderer(host.avatarRenderer) - id(groupSummary.roomId) + id(roomSummary.roomId) hasChildren(hasChildren) expanded(expanded) // to debug order // matrixItem(groupSummary.copy(displayName = "${groupSummary.displayName} / ${spaceOrderInfo?.get(groupSummary.roomId)}") // .toMatrixItem()) - matrixItem(groupSummary.toMatrixItem()) + matrixItem(roomSummary.toMatrixItem()) selected(isSelected) canDrag(true) - onMore { host.callback?.onSpaceSettings(groupSummary) } - listener { host.callback?.onSpaceSelected(groupSummary) } - toggleExpand { host.callback?.onToggleExpand(groupSummary) } + onMore { host.callback?.onSpaceSettings(roomSummary) } + listener { host.callback?.onSpaceSelected(roomSummary) } + toggleExpand { host.callback?.onToggleExpand(roomSummary) } countState( UnreadCounterBadgeView.State( - groupSummary.notificationCount, - groupSummary.highlightCount > 0 + roomSummary.notificationCount, + roomSummary.highlightCount > 0 ) ) } @@ -175,7 +175,7 @@ class SpaceSummaryController @Inject constructor( if (hasChildren && expanded) { // it's expanded subSpaces?.forEach { child -> - buildSubSpace(groupSummary.roomId, summaries, expandedStates, selected, child, 1, 3) + buildSubSpace(roomSummary.roomId, summaries, expandedStates, selected, child, 1, 3) } } } From 4889295361c2a86ee20ad033444ab754f2e24f3a Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Wed, 4 May 2022 09:43:00 +0200 Subject: [PATCH 3/4] Tentative fix for rageshake 37765 --- .../im/vector/app/features/spaces/SpaceSummaryController.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 010a5965a9c..c1add9de3bb 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 @@ -123,7 +123,7 @@ class SpaceSummaryController @Inject constructor( ?.forEach { roomSummary -> spaceSummaryItem { avatarRenderer(host.avatarRenderer) - id(roomSummary.roomId) + id("invite_${roomSummary.roomId}") matrixItem(roomSummary.toMatrixItem()) countState(UnreadCounterBadgeView.State(1, true)) selected(false) From 70c1310794da2e1d0b98cbf841df96006f901a44 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Wed, 4 May 2022 10:06:40 +0200 Subject: [PATCH 4/4] Ensure space invite are not displayed twice and cannot be selected as current space --- .../java/im/vector/app/features/spaces/SpaceSummaryController.kt | 1 + 1 file changed, 1 insertion(+) 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 c1add9de3bb..ca9c05f3f97 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 @@ -141,6 +141,7 @@ class SpaceSummaryController @Inject constructor( } rootSpaces + ?.filter { it.membership != Membership.INVITE } ?.forEach { roomSummary -> val isSelected = selected is RoomGroupingMethod.BySpace && roomSummary.roomId == selected.space()?.roomId // does it have children?