package com.gh4a.loader;
import android.content.Context;
import com.gh4a.Gh4Application;
import org.eclipse.egit.github.core.Release;
import org.eclipse.egit.github.core.RepositoryId;
import org.eclipse.egit.github.core.service.RepositoryService;
import java.io.IOException;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
public class ReleaseListLoader extends BaseLoader<List<Release>> {
private final String mRepoOwner;
private final String mRepoName;
public ReleaseListLoader(Context context, String repoOwner, String repoName) {
super(context);
mRepoOwner = repoOwner;
mRepoName = repoName;
}
@Override
public List<Release> doLoadInBackground() throws IOException {
List<Release> releases = loadReleases(mRepoOwner, mRepoName);
Collections.sort(releases, new Comparator<Release>() {
@Override
public int compare(Release lhs, Release rhs) {
return rhs.getCreatedAt().compareTo(lhs.getCreatedAt());
}
});
return releases;
}
public static List<Release> loadReleases(String repoOwner, String repoName) throws IOException {
RepositoryService repoService = (RepositoryService)
Gh4Application.get().getService(Gh4Application.REPO_SERVICE);
return repoService.getReleases(new RepositoryId(repoOwner, repoName));
}
}