package com.shizhefei.test.models.datasource.rxjava_retrofit;
import com.shizhefei.test.models.enties.BaseData;
import com.shizhefei.test.models.enties.Meizhi;
import java.util.List;
import rx.Observable;
import rx.functions.Action1;
/**
* Created by LuckyJayce on 2016/7/21.
*/
public class MeizhiRxDataSource extends MRxDataSource<List<Meizhi>> {
private int mPage = 1;
@Override
public Observable<BaseData<List<Meizhi>>> refreshRXM(DoneActionRegister<List<Meizhi>> register) throws Exception {
return load(1, register);
}
@Override
public Observable<BaseData<List<Meizhi>>> loadMoreRXM(DoneActionRegister<List<Meizhi>> register) throws Exception {
return load(mPage + 1, register);
}
private Observable<BaseData<List<Meizhi>>> load(final int page, DoneActionRegister<List<Meizhi>> register) throws Exception {
register.addAction(new Action1<List<Meizhi>>() {
@Override
public void call(List<Meizhi> meizhis) {
mPage = page;
}
});
return getGankApi().getMeizhiData(page);
}
@Override
public boolean hasMore() {
return true;
}
}