package cz.destil.wearsquare.core;
import android.os.AsyncTask;
import android.os.Build;
/**
* AsyncTask which executes in parallel on all Android versions.
*
* @author David Vávra (david@vavra.me)
*/
public abstract class BaseAsyncTask extends AsyncTask<Void, Void, Void> {
public void start() {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {
this.executeOnExecutor(THREAD_POOL_EXECUTOR);
} else {
this.execute();
}
}
@Override
protected Void doInBackground(Void... params) {
inBackground();
return null;
}
@Override
protected void onPostExecute(Void aVoid) {
super.onPostExecute(aVoid);
postExecute();
}
public abstract void inBackground();
public abstract void postExecute();
}