Merge pull request #1865 from vector-im/feature/fga/room_list_dynamic_api

RoomList : rework a bit the api and make usage of entriesWithDynamicAdapter
This commit is contained in:
ganfra 2023-11-23 12:07:55 +01:00 committed by GitHub
commit 40efe4844e
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
17 changed files with 317 additions and 213 deletions

View file

@ -57,7 +57,7 @@ class InviteListPresenter @Inject constructor(
override fun present(): InviteListState {
val invites by client
.roomListService
.invites()
.invites
.summaries
.collectAsState()

View file

@ -65,7 +65,7 @@ class ForwardMessagesPresenter @AssistedInject constructor(
var results: SearchBarResultState<ImmutableList<RoomSummaryDetails>> by remember { mutableStateOf(SearchBarResultState.NotSearching()) }
val forwardingActionState: MutableState<Async<ImmutableList<RoomId>>> = remember { mutableStateOf(Async.Uninitialized) }
val summaries by client.roomListService.allRooms().summaries.collectAsState()
val summaries by client.roomListService.allRooms.summaries.collectAsState()
LaunchedEffect(query, summaries) {
val filteredSummaries = summaries.filterIsInstance<RoomSummary.Filled>()

View file

@ -105,7 +105,7 @@ class EditDefaultNotificationSettingPresenter @AssistedInject constructor(
}
private fun CoroutineScope.observeRoomSummaries(roomsWithUserDefinedMode: MutableState<List<RoomSummary.Filled>>) {
roomListService.allRooms()
roomListService.allRooms
.summaries
.onEach {
updateRoomsWithUserDefinedMode(it, roomsWithUserDefinedMode)

View file

@ -45,7 +45,7 @@ class DefaultInviteStateDataSource @Inject constructor(
override fun inviteState(): InvitesState {
val invites by client
.roomListService
.invites()
.invites
.summaries
.collectAsState()

View file

@ -71,7 +71,7 @@ class RoomListDataSource @Inject constructor(
fun launchIn(coroutineScope: CoroutineScope) {
roomListService
.allRooms()
.allRooms
.summaries
.onEach { roomSummaries ->
replaceWith(roomSummaries)
@ -106,7 +106,7 @@ class RoomListDataSource @Inject constructor(
notificationSettingsService.notificationSettingsChangeFlow
.debounce(0.5.seconds)
.onEach {
roomListService.rebuildRoomSummaries()
roomListService.allRooms.rebuildSummaries()
}
.launchIn(appScope)
}