package org.hwbot.prime.tasks;
import android.graphics.Color;
import android.os.AsyncTask;
import android.util.Log;
import com.google.gson.Gson;
import org.hwbot.api.bench.dto.PersistentLoginDTO;
import org.hwbot.prime.MainActivity;
import org.hwbot.prime.R;
import org.hwbot.prime.TabFragmentAccount;
import org.hwbot.prime.service.BenchService;
import org.hwbot.prime.service.SecurityService;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.URL;
import java.net.URLEncoder;
import java.net.UnknownHostException;
/**
* Represents an asynchronous login/registration task used to authenticate
* the user.
*/
public class UserUserNameAvailableTask extends AsyncTask<String, Void, Boolean> {
/**
*
*/
private final TabFragmentAccount tabFragmentAccount;
/**
* @param tabFragmentAccount
*/
public UserUserNameAvailableTask(TabFragmentAccount tabFragmentAccount) {
this.tabFragmentAccount = tabFragmentAccount;
}
@Override
protected Boolean doInBackground(String... param) {
URL login;
BufferedReader reader = null;
try {
login = new URL(BenchService.SERVER + "/api/register/available?username=" + URLEncoder.encode(param[0], "UTF8"));
reader = new BufferedReader(new InputStreamReader(login.openStream()));
try {
this.tabFragmentAccount.mRegisterUserNameAvailable = Boolean.parseBoolean(reader.readLine());
return this.tabFragmentAccount.mRegisterUserNameAvailable;
} catch (Exception e) {
Log.e(this.getClass().getSimpleName(), "Available check not succesful: " + e.getMessage());
e.printStackTrace();
} finally {
if (reader != null) {
reader.close();
}
}
} catch (UnknownHostException e) {
MainActivity.activity.showNetworkPopupOnce();
} catch (Exception e) {
Log.e(this.getClass().getSimpleName(), "Available check to authenticate: " + e.getMessage());
e.printStackTrace();
}
return false;
}
}