package cl.monsoon.s1next.widget;
import android.support.annotation.MainThread;
import cl.monsoon.s1next.util.LooperUtil;
import rx.Observable;
import rx.subjects.PublishSubject;
import rx.subjects.Subject;
/**
* See https://code.google.com/p/guava-libraries/wiki/EventBusExplained
* <p>
* Forked from http://nerds.weddingpartyapp.com/tech/2014/12/24/implementing-an-event-bus-with-rxjava-rxbus/
*/
public final class EventBus {
private final Subject<Object, Object> eventBus = PublishSubject.create();
@MainThread
public void post(Object o) {
LooperUtil.enforceOnMainThread();
eventBus.onNext(o);
}
@MainThread
public Observable<Object> get() {
LooperUtil.enforceOnMainThread();
return eventBus;
}
}