Как изменить параметр поискового запроса, используя ViewModel и Rx Observable в базе данных Room - PullRequest
0 голосов
/ 20 июня 2019

У меня есть запрос

@Query("SELECT * FROM call")
fun load(): DataSource.Factory<Int, Call>

, который я использую следующим образом

class CallViewModel : ViewModel() {
    fun calls(context: Context): Observable<PagedList<Call>> {
        val dao = DBManager.Root.getInstance(context).getCallDao()
        return RxPagedListBuilder(dao.load(), 200).buildObservable()
    }
}

val viewModel = ViewModelProviders.of(this).get(CallViewModel::class.java)
disposable = viewModel.calls(this).subscribe(::onDataSourceChanged, ::onDataSourceError)

Теперь я хочу использовать параметр запроса (типы пользователей в тексте редактирования)

@Query("SELECT * FROM call WHERE name LIKE :query")
fun load(query: String): DataSource.Factory<Int, Call>

Я не могу использовать LiveData в этом проекте, только rx

Похоже, мне нужно Transformations.switchMap аналог

Спасибо

...