@Override public void onStart() { super.onStart(); _subscriptions = new CompositeSubscription(); ConnectableObservable<Object> tapEventEmitter = _rxBus.toObserverable().publish(); _subscriptions // .add( bindSupportFragment(this, tapEventEmitter) // .subscribe( new Action1<Object>() { @Override public void call(Object event) { if (event instanceof RxBusDemoFragment.TapEvent) { _showTapText(); } } })); _subscriptions // .add( tapEventEmitter .publish( new Func1<Observable<Object>, Observable<List<Object>>>() { @Override public Observable<List<Object>> call(Observable<Object> stream) { return stream.buffer(stream.debounce(1, TimeUnit.SECONDS)); } }) .observeOn(AndroidSchedulers.mainThread()) .subscribe( new Action1<List<Object>>() { @Override public void call(List<Object> taps) { _showTapCount(taps.size()); } })); _subscriptions.add(tapEventEmitter.connect()); }
public <T extends RxViewDispatch> void registerRxError(final T object) { String tag = object.getClass().getSimpleName() + "_error"; Subscription subscription = mRxActionMap.get(tag); if (subscription == null || subscription.isUnsubscribed()) { mRxActionMap.put( tag, mBus.get() .filter( new Func1<Object, Boolean>() { @Override public Boolean call(Object obj) { return obj instanceof RxError; } }) .subscribe( new Action1<Object>() { @Override public void call(Object obj) { object.onRxError((RxError) obj); } })); } }
public void postRxStoreChange(final RxStoreChange storeChange) { mBus.send(storeChange); }
public void postRxAction(final RxAction action) { mBus.send(action); }