package pt.rupeal.invoicexpress.server;
import android.app.Activity;
import android.content.Context;
import android.widget.Toast;
import pt.rupeal.invoicexpress.enums.FragmentTagsEnum;
import pt.rupeal.invoicexpress.utils.InvoiceXpressError;
import pt.rupeal.invoicexpress.utils.InvoiceXpressError.InvoiceXpressErrorType;
import pt.rupeal.invoicexpress.widgets.DialogProgressBar;
public abstract class AsyncTask<Params, Progress, Result> extends android.os.AsyncTask<Params, Progress, Result> {
protected Context context;
private DialogProgressBar progressBar;
private InvoiceXpressError error;
protected void setError(String message, InvoiceXpressErrorType type) {
error = new InvoiceXpressError(message, type);
}
protected void setError(int id, InvoiceXpressErrorType type) {
error = new InvoiceXpressError(context, id, type);
}
protected boolean existsError() {
return error != null;
}
protected void processError() {
Toast.makeText(context, error.getMessage(), Toast.LENGTH_LONG).show();
}
@Override
protected void onPreExecute() {
// show progress bar
progressBar = DialogProgressBar.newInstace();
progressBar.show(((Activity) context).getFragmentManager(), FragmentTagsEnum.DIALOG_PROGRESS.getValue());
}
@Override
protected void onPostExecute(Result result) {
// dismiss progress bar
progressBar.dismiss();
}
public void dismissProgressBar() {
progressBar.dismiss();
}
}