package co.touchlab.droidconandroid.tasks; import android.content.Context; import java.util.concurrent.atomic.AtomicBoolean; import co.touchlab.android.threading.tasks.Task; import co.touchlab.droidconandroid.CrashReport; import co.touchlab.droidconandroid.network.DataHelper; import co.touchlab.droidconandroid.network.FindUserRequest; import co.touchlab.droidconandroid.network.dao.UserSearchResponse; import co.touchlab.droidconandroid.presenter.AppManager; import retrofit.RestAdapter; /** * Created by kgalligan on 4/8/16. */ public class SearchUsersTask extends Task { private final String search; public UserSearchResponse userSearchResponse; private final AtomicBoolean canceled = new AtomicBoolean(false); public SearchUsersTask(String search) { this.search = search; } @Override protected void run(Context context) throws Throwable { if(canceled.get()) return; RestAdapter restAdapter = DataHelper.makeRequestAdapter(context, AppManager .getPlatformClient()); FindUserRequest findUserRequest = restAdapter.create(FindUserRequest.class); userSearchResponse = findUserRequest.searchUsers(search); } @Override protected boolean handleError(Context context, Throwable e) { CrashReport.logException(e); return true; } @Override protected void onComplete(Context context) { super.onComplete(context); } public void cancel() { canceled.set(true); } public UserSearchResponse getUserSearchResponse() { return userSearchResponse; } }