package com.jdroid.android.sample.ui.recyclerview;
import com.jdroid.android.search.SortingType;
import com.jdroid.android.usecase.SearchUseCase;
import com.jdroid.java.collections.Lists;
import com.jdroid.java.concurrent.ExecutorUtils;
import com.jdroid.java.search.PagedResult;
import java.util.List;
public class SampleSearchUseCase extends SearchUseCase<String> {
private List<String> results = Lists.newArrayList();
public SampleSearchUseCase() {
for (int i = 1; i < 300; i++) {
results.add("word" + i);
}
}
@Override
protected PagedResult<String> doSearch(String searchValue, 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;
}
for (String each : results.subList(from, to)) {
if (each.contains(searchValue)) {
pagedResults.add(each);
}
}
PagedResult<String> pagedResult = new PagedResult<>(pagedResults, isLastPage);
ExecutorUtils.sleep(5);
return pagedResult;
}
}