package com.pandaq.pandaeye.modules.video.videodetail.mvp; import com.pandaq.pandaeye.config.Constants; import com.pandaq.pandaeye.api.ApiManager; import com.pandaq.pandaeye.modules.video.MovieResponse; import com.pandaq.pandaeye.BasePresenter; import com.pandaq.pandaeye.rxbus.RxBus; import com.pandaq.pandaeye.rxbus.RxConstants; import io.reactivex.Observer; import io.reactivex.android.schedulers.AndroidSchedulers; import io.reactivex.disposables.Disposable; import io.reactivex.schedulers.Schedulers; /** * Created by PandaQ on 2017/3/9. * 视频详情 */ public class VideoInfoFragPresenter extends BasePresenter implements VideoInfoContract.Presenter { private VideoInfoContract.View mVideoInfoFrag; public VideoInfoFragPresenter(VideoInfoContract.View videoInfoFrag) { mVideoInfoFrag = videoInfoFrag; } /** * 获取视频详情页 */ public void loadVideoInfo() { ApiManager.getInstence() .getMovieService() .getMovieDaily(mVideoInfoFrag.getDataId()) .subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()) .subscribe(new Observer<MovieResponse<MovieInfo>>() { @Override public void onError(Throwable e) { mVideoInfoFrag.loadInfoFail(Constants.ERRO, e.getMessage()); } @Override public void onComplete() { } @Override public void onSubscribe(Disposable d) { addDisposable(d); } @Override public void onNext(MovieResponse<MovieInfo> movieInfo) { if (movieInfo.getData().getList() != null) { mVideoInfoFrag.loadInfoSuccess(movieInfo.getData()); RxBus.getDefault().postWithCode(RxConstants.LOADED_DATA_CODE, movieInfo.getData()); } else { mVideoInfoFrag.loadInfoFail(movieInfo.getCode(), movieInfo.getMsg()); } } }); } }