package com.xiecc.seeWeather.component; import io.reactivex.Observable; import io.reactivex.subjects.PublishSubject; import io.reactivex.subjects.Subject; /** * RxBus * Created by YoKeyword on 2015/6/17. * update by hugo: 静态内部类 */ public class RxBus { // 主题 private final Subject<Object> mBus; private RxBus() { mBus = PublishSubject.create(); } public static RxBus getDefault() { return RxBusHolder.sInstance; } private static class RxBusHolder { private static final RxBus sInstance = new RxBus(); } // 提供了一个新的事件 public void post(Object o) { mBus.onNext(o); } // 根据传递的 eventType 类型返回特定类型(eventType)的 被观察者 public <T> Observable<T> toObservable(Class<T> eventType) { return mBus.ofType(eventType); } }