Compare commits
4 Commits
develop
...
feature/bc
Author | SHA1 | Date |
---|---|---|
ericdecanini | 89e528d552 | |
Valere | adf8c5fb9f | |
Valere | 43b76f763e | |
Valere | b8eef9b19a |
|
@ -0,0 +1 @@
|
|||
Fix | performance regression on roomlist + proper display of space parents in explore rooms.
|
|
@ -226,12 +226,19 @@ interface RoomService {
|
|||
): LiveData<PagedList<RoomSummary>>
|
||||
|
||||
/**
|
||||
* TODO Doc.
|
||||
* Get's a live paged list from a filter that can be dynamically updated.
|
||||
*
|
||||
* @param queryParams The filter to use
|
||||
* @param pagedListConfig The paged list configuration (page size, initial load, prefetch distance...)
|
||||
* @param sortOrder defines how to sort the results
|
||||
* @param getFlattenParents When true, the list of known parents and grand parents summaries will be resolved.
|
||||
* This can have significant impact on performance, better be used only on manageable list (filtered by displayName, ..).
|
||||
*/
|
||||
fun getFilteredPagedRoomSummariesLive(
|
||||
queryParams: RoomSummaryQueryParams,
|
||||
pagedListConfig: PagedList.Config = defaultPagedListConfig,
|
||||
sortOrder: RoomSortOrder = RoomSortOrder.ACTIVITY
|
||||
sortOrder: RoomSortOrder = RoomSortOrder.ACTIVITY,
|
||||
getFlattenParents: Boolean = false,
|
||||
): UpdatableLivePageResult
|
||||
|
||||
/**
|
||||
|
|
|
@ -139,9 +139,10 @@ internal class DefaultRoomService @Inject constructor(
|
|||
override fun getFilteredPagedRoomSummariesLive(
|
||||
queryParams: RoomSummaryQueryParams,
|
||||
pagedListConfig: PagedList.Config,
|
||||
sortOrder: RoomSortOrder
|
||||
sortOrder: RoomSortOrder,
|
||||
getFlattenParents: Boolean
|
||||
): UpdatableLivePageResult {
|
||||
return roomSummaryDataSource.getUpdatablePagedRoomSummariesLive(queryParams, pagedListConfig, sortOrder, getFlattenedParents = true)
|
||||
return roomSummaryDataSource.getUpdatablePagedRoomSummariesLive(queryParams, pagedListConfig, sortOrder, getFlattenParents)
|
||||
}
|
||||
|
||||
override fun getRoomCountLive(queryParams: RoomSummaryQueryParams): LiveData<Int> {
|
||||
|
|
|
@ -71,7 +71,7 @@ class RoomListSectionBuilderGroup(
|
|||
},
|
||||
{ qpm ->
|
||||
val name = stringProvider.getString(R.string.bottom_action_rooms)
|
||||
val updatableFilterLivePageResult = session.roomService().getFilteredPagedRoomSummariesLive(qpm)
|
||||
val updatableFilterLivePageResult = session.roomService().getFilteredPagedRoomSummariesLive(qpm, getFlattenParents = true)
|
||||
onUpdatable(updatableFilterLivePageResult)
|
||||
|
||||
val itemCountFlow = updatableFilterLivePageResult.livePagedList.asFlow()
|
||||
|
|
|
@ -332,7 +332,7 @@ class RoomListSectionBuilderSpace(
|
|||
},
|
||||
{ queryParams ->
|
||||
val name = stringProvider.getString(R.string.bottom_action_rooms)
|
||||
val updatableFilterLivePageResult = session.roomService().getFilteredPagedRoomSummariesLive(queryParams)
|
||||
val updatableFilterLivePageResult = session.roomService().getFilteredPagedRoomSummariesLive(queryParams, getFlattenParents = true)
|
||||
onUpdatable(updatableFilterLivePageResult)
|
||||
|
||||
val itemCountFlow = updatableFilterLivePageResult.livePagedList.asFlow()
|
||||
|
|
|
@ -207,7 +207,7 @@ class RoomSummaryItemFactory @Inject constructor(
|
|||
|
||||
private fun getSearchResultSubtitle(roomSummary: RoomSummary): String {
|
||||
val userId = roomSummary.directUserId
|
||||
val spaceName = roomSummary.spaceParents?.firstOrNull()?.roomSummary?.name
|
||||
val spaceName = roomSummary.flattenParents.lastOrNull()?.name
|
||||
val canonicalAlias = roomSummary.canonicalAlias
|
||||
|
||||
return (userId ?: spaceName ?: canonicalAlias).orEmpty()
|
||||
|
|
Loading…
Reference in New Issue