package com.piusvelte.sonet.loader;
import android.content.Context;
import android.support.v4.content.AsyncTaskLoader;
/**
* Created by bemmanuel on 3/17/15.
*/
abstract public class BaseAsyncTaskLoader<ResultType> extends AsyncTaskLoader<ResultType> {
ResultType mData;
public BaseAsyncTaskLoader(Context context) {
super(context);
}
@Override
public void deliverResult(ResultType data) {
mData = data;
if (isStarted()) {
super.deliverResult(data);
}
}
@Override
protected void onStartLoading() {
if (mData != null) {
deliverResult(mData);
} else {
forceLoad();
}
}
@Override
protected void onStopLoading() {
cancelLoad();
}
@Override
protected void onReset() {
onStopLoading();
mData = null;
}
}