Я столкнулся с очень странной проблемой и понятия не имею, почему это происходит. Когда у меня есть поток с fromIterable для вставки в элементы Room один за другим, он не вставляется. Без исключений, ничего. Я даже поставил точку останова для сгенерированного класса реализации Room DAO, он вызывает метод, но не входит в блок Completable, просто игнорируя его.
repository.insert(mapper.transform(item))
.flatMap { id ->
Observable.fromIterable(item.tags)
.map { tag ->
anotherRepository.insert(
JoinEntity(id, tag.id)
)
}
.toList()
.flatMap { Single.just(id) }
}
Но если я удалю fromIterable и заменим прямым вызовом вставки, он сработает и вставит нормально. Без каких-либо других изменений.
repository.insert(mapper.transform(item))
.flatMap { id ->
anotherRepository.insert(JoinEntity(1, 1))
.andThen(Single.just(id))
}
Я уже столько всего перепробовал и до сих пор не имею идей. Пробовал flattenAsFlowable
, тоже не работает.
Буду признателен за любую помощь. Спасибо!