package com.alorma.github.sdk.services.search;
import com.alorma.github.sdk.bean.dto.response.User;
import com.alorma.github.sdk.bean.dto.response.search.UsersSearch;
import java.util.List;
import retrofit.Callback;
import retrofit.RestAdapter;
import retrofit.client.Response;
/**
* Created by Bernat on 08/08/2014.
*/
public class UsersSearchClient extends GithubSearchClient<UsersSearch, List<User>> {
public UsersSearchClient(String query) {
super(query);
}
public UsersSearchClient(String query, int page) {
super(query, page);
}
@Override
protected ApiSubscriber getApiObservable(RestAdapter restAdapter) {
return new ApiSubscriber() {
@Override
protected void call(RestAdapter restAdapter) {
SearchClient searchClient = restAdapter.create(SearchClient.class);
if (getPage() == 0) {
searchClient.users(query, new SearchUsersCallback(this));
} else {
searchClient.users(query, getPage(), new SearchUsersCallback(this));
}
}
};
}
private class SearchUsersCallback extends SearchCallback {
public SearchUsersCallback(Callback<List<User>> callback) {
super(callback);
}
@Override
public void success(UsersSearch usersSearch, Response response) {
callback.success(usersSearch.items, response);
}
}
}