Android приложение Dagger2 Rx Java, закодированное в Java - оставляет меня сбитым с толку ошибкой во время выполнения, возвращающей ноль из eventBus, который должен вернуть наблюдаемое значение (но не), вместо этого он падает с этой строкой stackTrace 101 HomeActivity
Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'io.reactivex.Observable com.benmohammad.rxsmoke.rxevent.RxEventBus.toObservables()' on a null object reference
at com.benmohammad.rxsmoke.home.HomeActivity.setUpSubscription(HomeActivity.java:101)
at com.benmohammad.rxsmoke.home.HomeActivity.onCreate(HomeActivity.java:94)
класс RxEventBus выглядит следующим образом:
public class RxEventBus {
@Inject
public RxEventBus(){}
public PublishSubject<Pair<String, Object>> eventSubject = PublishSubject.create();
public Observable<Pair<String, Object>> toObservables() {
return eventSubject;
}
public boolean hasObservers() {
return eventSubject.hasObservers();
}
public void send(Pair<String, Object> event) {
eventSubject.onNext(event);
}
}
, что, похоже, не является проблемой.
и это метод в классе HomeActivity, на который в журналах указывается
private void setUpSubscription() {
disposables.add(eventBus.toObservables() <---------this is line 101
.onErrorReturn(throwable -> {
Timber.tag(TAG).e(throwable);
return null;
})
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(event -> {
handleEventData(event);
})
);
}
. Если вам понадобится что-то еще, просто спросите. Спасибо