Как избежать EventBus Exception (Android)?

Я работаю над существующим приложением, и они используют EventBus, который получает каждое сетевое исключение следующим образом:

  public void onEvent(final NetworkErrorEvent event) {
    runOnUiThread(new Runnable() {

        @Override
        public void run() {

            Log.e("EventBus Event" + "(IOException)");

            if (event.getType() == NetworkError.Timeout) {
                L.e("timeout");
            } else if (event.getType() == NetworkError.Disconnected) {
                L.e("disconnected");
            } else if (event.getType() == NetworkError.UnknownHost) {
                L.e("UnknownHost");
            }

             showConnectionErrorDialog(event.getType(), true);
        }
    });
}

Я хочу добавить API-вызов, который я не хочу уведомлять EventBus, если не удалось, как это можно сделать?

Я не вижу eventBus.post (событие) в моем проекте, код, который я написал, фиксирует каждую сетевую ошибку, даже если я этого не хочу.

1 ответ

Решение

NetworkErrorEvent не является частью EventBus - я предлагаю выяснить, откуда он берется и с чего начать. Я подозреваю, что это может быть пользовательский код, заключающий в себе что-то из Retrofit.

EventBus идеально подходит для ведения журнала сетевых сбоев, потому что вы можете запускать события везде в своем коде, а затем просто выбирать обработку этих событий где-нибудь, или даже в нескольких местах, или нигде.

Другие вопросы по тегам