Search in sources :

Example 1 with ResponseCustom

use of com.seven.seven.common.network.ResponseCustom in project seven_develop by seven123456.

the class HomePresenter method getHomeBanner.

@Override
public void getHomeBanner() {
    /*io.reactivex.Observable observable = HttpObservable.getObservable(apiRetrofit.getHomeNewsInfos());
        io.reactivex.Observable observable1 = HttpObservable.getObservable(apiRetrofit.getBannerInfos());
        io.reactivex.Observable.mergeDelayError(observable, observable1).retryWhen(new BaseRetryWhen(3, 3000))
        .subscribe(new HttpResultObserver<ResponseCustom<Object>>() {
            @Override
            protected void onLoading(Disposable d) {

            }

            @Override
            protected void onSuccess(ResponseCustom<Object> responseCustom) {
                if (getView() != null) {
                    if (responseCustom.getData() != null) {
                        count++;
                    }
                    if (responseCustom.getData() instanceof HomeNewsInfos) {
                        EventBus.getDefault().post(new HomeEvents(Constans.HOMEDATA, responseCustom.getData()));
                    } else if (responseCustom.getData() instanceof List) {
                        EventBus.getDefault().post(new HomeEvents(Constans.HOMEBANNER, responseCustom.getData()));
                    }
                    if (count == 2) {
                        count = 0;
                        EventBus.getDefault().post(new HomeEvents(Constans.HOMEDASUCCESS, "成功"));
                    } */
    /*else {
                        EventBus.getDefault().post(new HomeEvents(Constans.HOMEERROR, "只有一次"));
                    }*/
    /*
                }
            }

            @Override
            protected void onFail(ApiException error) {
                EventBus.getDefault().post(new HomeEvents(Constans.HOMEERROR, error.getMsg()));
            }
        });*/
    Flowable flowable1 = apiRetrofit.getHomeNewsInfos();
    Flowable flowable2 = apiRetrofit.getBannerInfos();
    Flowable.concat(flowable1, flowable2).subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribeWith(new HttpResultSubscriber<ResponseCustom<Object>>() {

        @Override
        protected void onLoading(Disposable d) {
            if (getView() != null) {
            }
        }

        @Override
        protected void onSuccess(ResponseCustom<Object> responseCustom) {
            if (getView() != null) {
                if (responseCustom.getData() != null) {
                    count++;
                }
                if (responseCustom.getData() instanceof HomeNewsInfos) {
                    EventBus.getDefault().post(new HomeEvents(Constans.HOMEDATA, responseCustom.getData()));
                } else if (responseCustom.getData() instanceof List) {
                    EventBus.getDefault().post(new HomeEvents(Constans.HOMEBANNER, responseCustom.getData()));
                }
                if (count == 2) {
                    count = 0;
                    EventBus.getDefault().post(new HomeEvents(Constans.HOMEDASUCCESS, "成功"));
                }
            }
        }

        @Override
        protected void onFail(ApiException e) {
            EventBus.getDefault().post(new HomeEvents(Constans.HOMEERROR, e.getMsg()));
        }
    });
}
Also used : Disposable(io.reactivex.disposables.Disposable) HomeNewsInfos(com.seven.seven.home.model.HomeNewsInfos) List(java.util.List) ResponseCustom(com.seven.seven.common.network.ResponseCustom) HomeEvents(com.seven.seven.home.events.HomeEvents) Flowable(io.reactivex.Flowable) ApiException(com.seven.seven.common.network.ApiException)

Aggregations

ApiException (com.seven.seven.common.network.ApiException)1 ResponseCustom (com.seven.seven.common.network.ResponseCustom)1 HomeEvents (com.seven.seven.home.events.HomeEvents)1 HomeNewsInfos (com.seven.seven.home.model.HomeNewsInfos)1 Flowable (io.reactivex.Flowable)1 Disposable (io.reactivex.disposables.Disposable)1 List (java.util.List)1