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

Setup vm

parent e094a4ec
No related branches found
No related tags found
No related merge requests found
package org.futo.circles.feature.direct.create
class CreateDMViewModel {
import androidx.lifecycle.MutableLiveData
import androidx.lifecycle.ViewModel
import dagger.hilt.android.lifecycle.HiltViewModel
import kotlinx.coroutines.flow.StateFlow
import kotlinx.coroutines.flow.collectLatest
import kotlinx.coroutines.flow.flatMapLatest
import org.futo.circles.core.extensions.launchBg
import org.futo.circles.core.extensions.launchUi
import org.futo.circles.core.model.UserListItem
import org.futo.circles.model.PeopleUserListItem
import javax.inject.Inject
@HiltViewModel
class CreateDMViewModel @Inject constructor(
private val createDMDataSource: CreateDMDataSource
) : ViewModel() {
val searchUsersLiveData = MutableLiveData<List<PeopleUserListItem>>()
init {
launchBg { createDMDataSource.refreshRoomMembers() }
}
fun initSearchListener(queryFlow: StateFlow<String>) {
launchUi {
queryFlow
.flatMapLatest { query -> createDMDataSource.search(query) }
.collectLatest { items -> searchUsersLiveData.postValue(items) }
}
}
fun onUserSelected(user: UserListItem) {
}
}
\ No newline at end of file
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