package me.drakeet.newlife;
import rx.Observable;
import rx.subjects.PublishSubject;
import rx.subjects.SerializedSubject;
import rx.subjects.Subject;
/**
* Created by drakeet(http://drakeet.me)
* Date: 16/3/27 12:12
*/
public final class RxBus {
private static RxBus sBus;
public static synchronized RxBus getInstance() {
if (sBus == null) {
sBus = new RxBus();
}
return sBus;
}
private final Subject<Object, Object> _bus = new SerializedSubject<>(PublishSubject.create());
public RxBus() {
// No instances.
}
public void send(Object o) {
_bus.onNext(o);
}
public Observable<Object> toObserverable() {
return _bus;
}
public boolean hasObservers() {
return _bus.hasObservers();
}
}