package name.caiyao.microreader.presenter.impl; import name.caiyao.microreader.BuildConfig; import name.caiyao.microreader.api.zhihu.ZhihuRequest; import name.caiyao.microreader.bean.UpdateItem; import name.caiyao.microreader.presenter.ISettingPresenter; import name.caiyao.microreader.ui.iView.ISettingFragment; import rx.Observer; import rx.Subscription; import rx.android.schedulers.AndroidSchedulers; import rx.schedulers.Schedulers; /** * Created by 蔡小木 on 2016/4/24 0024. */ public class SettingPresenterImpl extends BasePresenterImpl implements ISettingPresenter { private ISettingFragment mSettingFragment; public SettingPresenterImpl(ISettingFragment iSettingFragment) { if (iSettingFragment == null) throw new IllegalArgumentException("iSettingFragment must not be null"); mSettingFragment = iSettingFragment; } @Override public void checkUpdate() { Subscription subscription = ZhihuRequest.getZhihuApi().getUpdateInfo() .subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()) .subscribe(new Observer<UpdateItem>() { @Override public void onCompleted() { } @Override public void onError(Throwable e) { mSettingFragment.showError(e.getMessage()); } @Override public void onNext(final UpdateItem updateItem) { if (updateItem.getVersionCode() > BuildConfig.VERSION_CODE) mSettingFragment.showUpdateDialog(updateItem); else mSettingFragment.showNoUpdate(); } }); addSubscription(subscription); } }