use of com.morihacky.android.rxjava.rxbus.RxBus in project RxJava-Android-Samples by kaushikgopal.
the class PaginationFragment method onStart.
@Override
public void onStart() {
super.onStart();
_disposables = new CompositeDisposable();
Disposable d2 = _paginator.onBackpressureDrop().concatMap(nextPage -> _itemsFromNetworkCall(nextPage + 1, 10)).observeOn(AndroidSchedulers.mainThread()).map(items -> {
int start = _adapter.getItemCount() - 1;
_adapter.addItems(items);
_adapter.notifyItemRangeInserted(start, 10);
_progressBar.setVisibility(View.INVISIBLE);
return items;
}).subscribe();
// I'm using an Rxbus purely to hear from a nested button click
// we don't really need Rx for this part. it's just easy ¯\_(ツ)_/¯
Disposable d1 = _bus.asFlowable().subscribe(event -> {
if (event instanceof PaginationAdapter.ItemBtnViewHolder.PageEvent) {
int nextPage = _adapter.getItemCount() - 1;
_paginator.onNext(nextPage);
}
});
_disposables.add(d1);
_disposables.add(d2);
}
use of com.morihacky.android.rxjava.rxbus.RxBus in project RxJava-Android-Samples by kaushikgopal.
the class PaginationAutoFragment method onStart.
@Override
public void onStart() {
super.onStart();
_disposables = new CompositeDisposable();
Disposable d2 = _paginator.onBackpressureDrop().doOnNext(i -> {
_requestUnderWay = true;
_progressBar.setVisibility(View.VISIBLE);
}).concatMap(this::_itemsFromNetworkCall).observeOn(AndroidSchedulers.mainThread()).map(items -> {
_adapter.addItems(items);
_adapter.notifyDataSetChanged();
return items;
}).doOnNext(i -> {
_requestUnderWay = false;
_progressBar.setVisibility(View.INVISIBLE);
}).subscribe();
// I'm using an RxBus purely to hear from a nested button click
// we don't really need Rx for this part. it's just easy ¯\_(ツ)_/¯
Disposable d1 = _bus.asFlowable().filter(o -> !_requestUnderWay).subscribe(event -> {
if (event instanceof PaginationAutoAdapter.PageEvent) {
int nextPage = _adapter.getItemCount();
_paginator.onNext(nextPage);
}
});
_disposables.add(d1);
_disposables.add(d2);
_paginator.onNext(0);
}
Aggregations