package com.jdroid.android.sample.ui.recyclerview;
import com.jdroid.android.search.SortingType;
import com.jdroid.android.usecase.PaginatedUseCase;
import com.jdroid.java.collections.Lists;
import com.jdroid.java.concurrent.ExecutorUtils;
import com.jdroid.java.search.PagedResult;
import java.util.List;
public class SamplePaginatedUseCase extends PaginatedUseCase<String> {
private List<String> results = Lists.newArrayList();
public SamplePaginatedUseCase() {
for (int i = 1; i < 300; i++) {
results.add(i + "");
}
}
@Override
protected PagedResult<String> doPopulate(int page, int pageSize, SortingType sortingType) {
List<String> pagedResults = Lists.newArrayList();
Boolean isLastPage = false;
int from = (page - 1) * pageSize;
int to = from + pageSize;
if (to >= results.size()) {
to = results.size();
isLastPage = true;
}
pagedResults.addAll(results.subList(from, to));
PagedResult<String> pagedResult = new PagedResult<>(pagedResults, isLastPage);
ExecutorUtils.sleep(5);
return pagedResult;
}
}