package com.door43.translationstudio.git.tasks;
import android.os.AsyncTask;
import com.door43.translationstudio.AppContext;
/**
* Created by joel on 9/15/2014.
*/
public abstract class GitSyncAsyncTask<A, B, C> extends AsyncTask<A, B, C> {
protected Throwable mException;
protected int mErrorRes = 0;
protected void setException(Throwable e) {
mException = e;
}
protected void setException(Throwable e, int errorRes) {
mException = e;
mErrorRes = errorRes;
}
protected void showError() {
if (mErrorRes != 0) {
AppContext.context().showException(mException, mErrorRes);
} else if (mException != null) {
AppContext.context().showException(mException);
}
}
private boolean mIsCanceled = false;
public void cancelTask() {
mIsCanceled = true;
}
public boolean isTaskCanceled() {
return mIsCanceled;
}
public static interface AsyncTaskPostCallback {
public void onPostExecute(Boolean isSuccess);
}
public static interface AsyncTaskCallback {
public boolean doInBackground(Void... params);
public void onPreExecute();
public void onProgressUpdate(String... progress);
public void onPostExecute(Boolean isSuccess);
}
}