У меня есть поток Foo. Для испускания Foo требуется, чтобы Android View был выложен (ширина и высота > 0). Я использую RxBinding для этого, т.е.
fooOservable()
.subscribe(foo -> {});
RxView.preDraws(mPager, () -> true)
.take(1);
Когда этот наблюдаемый исходит (или завершается, из-за взятия), выкладывается представление.
Что мне нужно, так это чтобы fooObservable() ждал, пока RxView выдаст, т.е. представление будет выложено. Я не могу просто fooObservable.filter(width && height > 0), потому что это отбрасывает эмиссии. Что мне нужно, так это кэшировать последний выброс foo (если представление не выложено) и повторно отправить после первого RxView.preDraws., если он выложен, он должен пройти нормально