Skip to content
Snippets Groups Projects
Commit b7b68a40 authored by Taras's avatar Taras
Browse files

Refresh known users for select users view model

parent 17205366
No related branches found
No related tags found
No related merge requests found
...@@ -11,6 +11,7 @@ import org.futo.circles.model.NoResultsItem ...@@ -11,6 +11,7 @@ import org.futo.circles.model.NoResultsItem
import org.futo.circles.model.UserListItem import org.futo.circles.model.UserListItem
import org.futo.circles.provider.MatrixSessionProvider import org.futo.circles.provider.MatrixSessionProvider
import org.matrix.android.sdk.api.session.getRoom import org.matrix.android.sdk.api.session.getRoom
import org.matrix.android.sdk.api.session.room.roomSummaryQueryParams
import org.matrix.android.sdk.api.session.user.model.User import org.matrix.android.sdk.api.session.user.model.User
class SelectUsersDataSource(roomId: String?) { class SelectUsersDataSource(roomId: String?) {
...@@ -25,6 +26,12 @@ class SelectUsersDataSource(roomId: String?) { ...@@ -25,6 +26,12 @@ class SelectUsersDataSource(roomId: String?) {
val selectedUsersFlow = MutableStateFlow<List<UserListItem>>(emptyList()) val selectedUsersFlow = MutableStateFlow<List<UserListItem>>(emptyList())
suspend fun loadAllRoomMembersIfNeeded(){
session?.roomService()?.getRoomSummaries(roomSummaryQueryParams())?.forEach {
session.getRoom(it.roomId)?.membershipService()?.loadRoomMembersIfNeeded()
}
}
suspend fun search(query: String) = suspend fun search(query: String) =
combine( combine(
searchKnownUsers(query), searchKnownUsers(query),
......
...@@ -16,6 +16,10 @@ class SelectUsersViewModel( ...@@ -16,6 +16,10 @@ class SelectUsersViewModel(
val searchUsersLiveData = MutableLiveData<List<InviteMemberListItem>>() val searchUsersLiveData = MutableLiveData<List<InviteMemberListItem>>()
val selectedUsersLiveData = dataSource.selectedUsersFlow.asLiveData() val selectedUsersLiveData = dataSource.selectedUsersFlow.asLiveData()
init {
launchBg { dataSource.loadAllRoomMembersIfNeeded() }
}
fun initSearchListener(queryFlow: StateFlow<String>) { fun initSearchListener(queryFlow: StateFlow<String>) {
launchUi { launchUi {
queryFlow queryFlow
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment