|
10 | 10 | */
|
11 | 11 | public class RxBus {
|
12 | 12 |
|
13 |
| - private static final String TAG = RxBus.class.getSimpleName(); |
| 13 | + private static final String TAG = RxBus.class.getSimpleName(); |
14 | 14 |
|
15 |
| - private SerializedSubject<Object, Object> rxBus; |
16 |
| - private SerializedSubject<Object, Object> rxStickBus; |
| 15 | + private SerializedSubject<Object, Object> rxBus; |
| 16 | + private SerializedSubject<Object, Object> rxStickBus; |
17 | 17 |
|
18 |
| - @SuppressWarnings("unchecked") private RxBus() { |
19 |
| - rxBus = new SerializedSubject(PublishSubject.create()); |
20 |
| - rxStickBus = new SerializedSubject(BehaviorSubject.create()); |
21 |
| - } |
| 18 | + @SuppressWarnings("unchecked") |
| 19 | + private RxBus() { |
| 20 | + rxBus = new SerializedSubject(PublishSubject.create()); |
| 21 | + rxStickBus = new SerializedSubject(BehaviorSubject.create()); |
| 22 | + } |
22 | 23 |
|
23 |
| - private static class SingletonHolder { |
24 |
| - private static RxBus instance = new RxBus(); |
25 |
| - } |
| 24 | + private static class SingletonHolder { |
26 | 25 |
|
27 |
| - public static RxBus getInstance() { |
28 |
| - return SingletonHolder.instance; |
29 |
| - } |
| 26 | + private static RxBus instance = new RxBus(); |
| 27 | + } |
30 | 28 |
|
31 |
| - public void postEvent(Object event) { |
32 |
| - rxBus.onNext(event); |
33 |
| - } |
| 29 | + public static RxBus getInstance() { |
| 30 | + return SingletonHolder.instance; |
| 31 | + } |
34 | 32 |
|
35 |
| - public void postStickEvent(Object event) { |
36 |
| - rxStickBus.onNext(event); |
37 |
| - } |
| 33 | + public void postEvent(Object event) { |
| 34 | + if (this.hasObservers()) rxBus.onNext(event); |
| 35 | + } |
38 | 36 |
|
39 |
| - public <T> Observable<T> toObservable(Class<T> type) { |
40 |
| - return rxBus.asObservable().ofType(type).onBackpressureBuffer(); |
41 |
| - } |
| 37 | + public void postStickEvent(Object event) { |
| 38 | + rxStickBus.onNext(event); |
| 39 | + } |
42 | 40 |
|
43 |
| - public <T> Observable<T> toStickObservable(Class<T> type) { |
44 |
| - return rxStickBus.asObservable().ofType(type).onBackpressureBuffer(); |
45 |
| - } |
| 41 | + public <T> Observable<T> toObservable(Class<T> type) { |
| 42 | + return rxBus.asObservable().ofType(type).onBackpressureBuffer(); |
| 43 | + } |
46 | 44 |
|
47 |
| - public boolean hasObservers() { |
48 |
| - return rxBus.hasObservers(); |
49 |
| - } |
| 45 | + public <T> Observable<T> toStickObservable(Class<T> type) { |
| 46 | + return rxStickBus.asObservable().ofType(type).onBackpressureBuffer(); |
| 47 | + } |
50 | 48 |
|
51 |
| - public boolean hasStickObservers() { |
52 |
| - return rxStickBus.hasObservers(); |
53 |
| - } |
| 49 | + private boolean hasObservers() { |
| 50 | + return rxBus.hasObservers(); |
| 51 | + } |
| 52 | + |
| 53 | + @Deprecated |
| 54 | + public boolean hasStickObservers() { |
| 55 | + return rxStickBus.hasObservers(); |
| 56 | + } |
54 | 57 | }
|
0 commit comments