package com.door43.translationstudio.tasks;
import com.door43.translationstudio.AppContext;
import com.door43.translationstudio.R;
import com.door43.translationstudio.SettingsActivity;
import com.door43.util.tasks.ManagedTask;
import org.unfoldingword.gogsclient.GogsAPI;
import org.unfoldingword.gogsclient.User;
import java.util.ArrayList;
import java.util.List;
/**
* Searches for users in gogs
*/
public class SearchGogsUsersTask extends ManagedTask {
public static final String TASK_ID = "search_gogs_users";
private final String query;
private final User authUser;
private final int limit;
private List<User> users = new ArrayList<>();
public SearchGogsUsersTask(User authUser, String query, int limit) {
this.query = query == null ? "" : query;
this.authUser = authUser;
this.limit = limit;
}
@Override
public void start() {
if(AppContext.context().isNetworkAvailable()) {
GogsAPI api = new GogsAPI(AppContext.getUserString(SettingsActivity.KEY_PREF_GOGS_API, R.string.pref_default_gogs_api));
this.users = api.searchUsers(this.query, this.limit, this.authUser);
}
}
/**
* Returns a list of users that were found
* @return
*/
public List<User> getUsers() {
return this.users;
}
}