RxEventBus возвращает ноль Ошибка времени выполнения ........ Не переходит на главный экран для загрузки HomeActivity - PullRequest
0 голосов
/ 16 апреля 2020

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);
                })
        );
    }

. Если вам понадобится что-то еще, просто спросите. Спасибо

...