ObjectBox: получать уведомления только тогда, когда запрос с условием изменил элементы - PullRequest
1 голос
/ 27 марта 2019

Допустим, у меня есть коробка предметов с некоторыми свойствами на них. Затем я хочу получить только определенные элементы, которые соответствуют некоторому условию, поэтому я создаю RxQuery, например:

val query = filesBox.query()
    .equal(File_.completed, true)
    .build()

RxQuery.observable(query).subscribe(...)

Теперь этот запрос действительно возвращает все элементы, соответствующие этому условию. Однако когда эта таблица обновляется, я всегда получаю сигнал «уведомление» / onNext, даже если измененные элементы не соответствуют моему запросу.

Поэтому, если у меня есть несколько файлов с completed = true, и я добавляю новый файл с completed = false, запрос сработает, но вернет те же элементы, что и раньше.

Есть ли способ обойти это? Я знаю, что мог бы сделать distinctUntillChanged() как часть потока Rx, но я надеюсь найти какой-нибудь способ сделать это с ObjectBox, который более эффективен.

...