package com.codeest.geeknews.presenter.gank;
import com.codeest.geeknews.base.RxPresenter;
import com.codeest.geeknews.model.DataManager;
import com.codeest.geeknews.model.bean.GankItemBean;
import com.codeest.geeknews.model.http.response.GankHttpResponse;
import com.codeest.geeknews.base.contract.gank.GirlContract;
import com.codeest.geeknews.util.RxUtil;
import com.codeest.geeknews.widget.CommonSubscriber;
import java.util.List;
import javax.inject.Inject;
/**
* Created by codeest on 16/8/19.
*/
public class GirlPresenter extends RxPresenter<GirlContract.View> implements GirlContract.Presenter{
private DataManager mDataManager;
public static final int NUM_OF_PAGE = 20;
private int currentPage = 1;
@Inject
public GirlPresenter(DataManager mDataManager) {
this.mDataManager = mDataManager;
}
@Override
public void getGirlData() {
currentPage = 1;
addSubscribe(mDataManager.fetchGirlList(NUM_OF_PAGE,currentPage)
.compose(RxUtil.<GankHttpResponse<List<GankItemBean>>>rxSchedulerHelper())
.compose(RxUtil.<List<GankItemBean>>handleResult())
.subscribeWith(new CommonSubscriber<List<GankItemBean>>(mView) {
@Override
public void onNext(List<GankItemBean> gankItemBeen) {
mView.showContent(gankItemBeen);
}
})
);
}
@Override
public void getMoreGirlData() {
addSubscribe(mDataManager.fetchGirlList(NUM_OF_PAGE,++currentPage)
.compose(RxUtil.<GankHttpResponse<List<GankItemBean>>>rxSchedulerHelper())
.compose(RxUtil.<List<GankItemBean>>handleResult())
.subscribeWith(new CommonSubscriber<List<GankItemBean>>(mView, false) {
@Override
public void onNext(List<GankItemBean> gankItemBeen) {
mView.showMoreContent(gankItemBeen);
}
})
);
}
}