package com.looklook.xinghongfei.looklook.presenter.implPresenter;
import android.content.Context;
import com.google.gson.Gson;
import com.looklook.xinghongfei.looklook.api.ApiManager;
import com.looklook.xinghongfei.looklook.bean.meizi.MeiziData;
import com.looklook.xinghongfei.looklook.bean.meizi.VedioData;
import com.looklook.xinghongfei.looklook.config.Config;
import com.looklook.xinghongfei.looklook.presenter.IMeiziPresenter;
import com.looklook.xinghongfei.looklook.presenter.implView.IMeiziFragment;
import com.looklook.xinghongfei.looklook.util.CacheUtil;
import rx.Observer;
import rx.Subscription;
import rx.android.schedulers.AndroidSchedulers;
import rx.schedulers.Schedulers;
/**
* Created by 蔡小木 on 2016/4/23 0023.
*/
public class MeiziPresenterImpl extends BasePresenterImpl implements IMeiziPresenter {
private IMeiziFragment mMeiziFragment;
private CacheUtil mCacheUtil;
private Gson gson = new Gson();
public MeiziPresenterImpl(Context context, IMeiziFragment mMeiziFragment) {
this.mMeiziFragment = mMeiziFragment;
mCacheUtil = CacheUtil.get(context);
}
@Override
public void getMeiziData(int t) {
mMeiziFragment.showProgressDialog();
Subscription subscription = ApiManager.getInstence().getGankService().getMeizhiData(t)
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Observer<MeiziData>() {
@Override
public void onCompleted() {
}
@Override
public void onError(Throwable e) {
mMeiziFragment.hidProgressDialog();
mMeiziFragment.showError(e.getMessage());
}
@Override
public void onNext(MeiziData meiziData) {
mMeiziFragment.hidProgressDialog();
mCacheUtil.put(Config.ZHIHU, gson.toJson(meiziData));
mMeiziFragment.updateMeiziData(meiziData.getResults());
}
});
addSubscription(subscription);
}
@Override
public void getVedioData(int t) {
Subscription subscription = com.looklook.xinghongfei.looklook.api.ApiManager.getInstence().getGankService().getVedioData(t)
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Observer<VedioData>() {
@Override
public void onCompleted() {
}
@Override
public void onError(Throwable e) {
e.printStackTrace();
mMeiziFragment.hidProgressDialog();
mMeiziFragment.showError(e.getMessage());
}
@Override
public void onNext(VedioData vedioData) {
mMeiziFragment.hidProgressDialog();
mMeiziFragment.updateVedioData(vedioData.getResults());
}
});
addSubscription(subscription);
}
}