From c6728dde3886ef5f66172fdb51dfa281ce499575 Mon Sep 17 00:00:00 2001 From: ericdecanini Date: Wed, 6 Jul 2022 13:36:17 +0100 Subject: [PATCH] Changes string format of space parents to maintain parity with web --- .../features/home/room/list/RoomSummaryItemFactory.kt | 11 ++++++++++- vector/src/main/res/values/strings.xml | 2 ++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/vector/src/main/java/im/vector/app/features/home/room/list/RoomSummaryItemFactory.kt b/vector/src/main/java/im/vector/app/features/home/room/list/RoomSummaryItemFactory.kt index 79c6fe3209..60ee1eda83 100644 --- a/vector/src/main/java/im/vector/app/features/home/room/list/RoomSummaryItemFactory.kt +++ b/vector/src/main/java/im/vector/app/features/home/room/list/RoomSummaryItemFactory.kt @@ -207,9 +207,18 @@ class RoomSummaryItemFactory @Inject constructor( private fun getSearchResultSubtitle(roomSummary: RoomSummary): String { val userId = roomSummary.directUserId - val directParent = roomSummary.directParentNames.takeIf { it.isNotEmpty() }?.joinToString() + val directParent = joinParentNames(roomSummary) val canonicalAlias = roomSummary.canonicalAlias return (userId ?: directParent ?: canonicalAlias).orEmpty() } + + private fun joinParentNames(roomSummary: RoomSummary) = with(roomSummary) { + when (directParentNames.size) { + 0 -> null + 1 -> directParentNames.first() + 2 -> stringProvider.getString(R.string.search_space_two_parents, directParentNames[0], directParentNames[1]) + else -> stringProvider.getString(R.string.search_space_multiple_parents, directParentNames.first(), directParentNames.size - 1) + } + } } diff --git a/vector/src/main/res/values/strings.xml b/vector/src/main/res/values/strings.xml index 933f3f0602..f0597405d8 100644 --- a/vector/src/main/res/values/strings.xml +++ b/vector/src/main/res/values/strings.xml @@ -762,6 +762,8 @@ Filter room members Filter banned users No results + %1$s and %2$s + %1$s and %2$d others All messages