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); } }) ); } }