package name.caiyao.microreader.presenter.impl; import name.caiyao.microreader.api.guokr.GuokrRequest; import name.caiyao.microreader.api.zhihu.ZhihuRequest; import name.caiyao.microreader.bean.guokr.GuokrArticle; import name.caiyao.microreader.bean.zhihu.ZhihuStory; import name.caiyao.microreader.presenter.IZhihuStoryPresenter; import name.caiyao.microreader.ui.iView.IZhihuStory; import rx.Observer; import rx.Subscription; import rx.android.schedulers.AndroidSchedulers; import rx.schedulers.Schedulers; /** * Created by 蔡小木 on 2016/4/26 0026. */ public class ZhihuStoryPresenterImpl extends BasePresenterImpl implements IZhihuStoryPresenter { private IZhihuStory mIZhihuStory; public ZhihuStoryPresenterImpl(IZhihuStory zhihuStory) { if (zhihuStory == null) throw new IllegalArgumentException("zhihuStory must not be null"); mIZhihuStory = zhihuStory; } @Override public void getZhihuStory(String id) { Subscription s = ZhihuRequest.getZhihuApi().getZhihuStory(id) .subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()) .subscribe(new Observer<ZhihuStory>() { @Override public void onCompleted() { } @Override public void onError(Throwable e) { mIZhihuStory.showError(e.getMessage()); } @Override public void onNext(ZhihuStory zhihuStory) { mIZhihuStory.showZhihuStory(zhihuStory); } }); addSubscription(s); } @Override public void getGuokrArticle(String id) { Subscription s = GuokrRequest.getGuokrApi().getGuokrArticle(id) .subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()) .subscribe(new Observer<GuokrArticle>() { @Override public void onCompleted() { } @Override public void onError(Throwable e) { mIZhihuStory.showError(e.getMessage()); } @Override public void onNext(GuokrArticle guokrArticle) { mIZhihuStory.showGuokrArticle(guokrArticle); } }); addSubscription(s); } }