package com.khmelenko.lab.varis.task.travis; import android.support.annotation.NonNull; import com.khmelenko.lab.varis.event.travis.FindReposEvent; import com.khmelenko.lab.varis.event.travis.LoadingFailedEvent; import com.khmelenko.lab.varis.network.response.Repo; import com.khmelenko.lab.varis.task.Task; import com.khmelenko.lab.varis.task.TaskError; import com.khmelenko.lab.varis.task.TaskException; import java.util.List; /** * Task for loading user related repositories * * @author Dmytro Khmelenko */ public class UserReposTask extends Task<List<Repo>> { private final String mUserName; public UserReposTask(@NonNull String userName) { mUserName = userName; } @Override public List<Repo> execute() throws TaskException { List<Repo> repos = travisClient().getApiService().getUserRepos(mUserName); return repos; } @Override public void onSuccess(List<Repo> result) { FindReposEvent event = new FindReposEvent(result); eventBus().post(event); } @Override public void onFail(TaskError error) { LoadingFailedEvent event = new LoadingFailedEvent(error); eventBus().post(event); } }