package org.softeg.slartus.forpdaplus.listfragments;/*
* Created by slinkin on 10.04.2014.
*/
import org.softeg.slartus.forpdaapi.IListItem;
import org.softeg.slartus.forpdaapi.ListInfo;
import org.softeg.slartus.forpdaapi.users.User;
import org.softeg.slartus.forpdaplus.Client;
import java.io.IOException;
import java.text.ParseException;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
public abstract class UsersListFragment extends BaseTaskListFragment {
protected ListInfo mListInfo = new ListInfo();
public UsersListFragment() {
super();
}
@Override
protected boolean inBackground(boolean isRefresh) throws Throwable {
mListInfo = new ListInfo();
mListInfo.setFrom(isRefresh ? 0 : mData.size());
mLoadResultList = loadUsers(Client.getInstance(), mListInfo);
return true;
}
protected abstract ArrayList<? extends User> loadUsers(Client client, ListInfo listInfo) throws IOException, ParseException;
@Override
protected void deliveryResult(boolean isRefresh) {
if (isRefresh)
mData.clear();
for (IListItem item : mLoadResultList) {
mData.add(item);
}
mLoadResultList.clear();
Collections.sort(mData, getComparator());
}
private Comparator<? super IListItem> getComparator(){
return new Comparator<IListItem>() {
@Override
public int compare(IListItem listItem1, IListItem listItem2) {
return 0;
}
};
}
}