mirror of
https://github.com/SchildiChat/SchildiChat-android.git
synced 2025-02-16 20:10:04 +03:00
RoomList: fix joining/rejecting state
This commit is contained in:
parent
9cdb1da614
commit
133d8d7f14
1 changed files with 12 additions and 2 deletions
|
@ -101,7 +101,18 @@ class RoomListViewModel @Inject constructor(initialState: RoomListViewState,
|
|||
.observeOn(Schedulers.computation())
|
||||
.map { buildRoomSummaries(it) }
|
||||
.execute { async ->
|
||||
copy(asyncFilteredRooms = async)
|
||||
val invitedRooms = async()?.get(RoomCategory.INVITE)?.map { it.roomId } ?: emptyList()
|
||||
val remainingJoining = joiningRoomsIds.intersect(invitedRooms)
|
||||
val remainingRejecting = rejectingRoomsIds.intersect(invitedRooms)
|
||||
val remainingRejectErrors = rejectingErrorRoomsIds.intersect(invitedRooms)
|
||||
val remainingJoinErrors = joiningErrorRoomsIds.intersect(invitedRooms)
|
||||
copy(
|
||||
asyncFilteredRooms = async,
|
||||
joiningRoomsIds = remainingJoining,
|
||||
rejectingRoomsIds = remainingRejecting,
|
||||
rejectingErrorRoomsIds = remainingRejectErrors,
|
||||
joiningErrorRoomsIds = remainingJoinErrors
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -229,7 +240,6 @@ class RoomListViewModel @Inject constructor(initialState: RoomListViewState,
|
|||
else -> groupRooms.add(room)
|
||||
}
|
||||
}
|
||||
|
||||
return RoomSummaries().apply {
|
||||
put(RoomCategory.INVITE, invites)
|
||||
put(RoomCategory.FAVOURITE, favourites)
|
||||
|
|
Loading…
Add table
Reference in a new issue