package com.erakk.lnreader.task;
import android.os.AsyncTask;
import com.erakk.lnreader.callback.CallbackEventData;
import com.erakk.lnreader.callback.ICallbackEventData;
import com.erakk.lnreader.callback.IExtendedCallbackNotifier;
import com.erakk.lnreader.dao.NovelsDao;
import com.erakk.lnreader.model.UpdateInfoModel;
import java.util.ArrayList;
public class LoadUpdatesTask extends AsyncTask<Void, ICallbackEventData, AsyncTaskResult<UpdateInfoModel[]>> {
private static final String TAG = LoadUpdatesTask.class.toString();
public volatile IExtendedCallbackNotifier<AsyncTaskResult<?>> owner;
public LoadUpdatesTask(IExtendedCallbackNotifier owner) {
this.owner = owner;
}
@Override
protected AsyncTaskResult<UpdateInfoModel[]> doInBackground(Void... params) {
ArrayList<UpdateInfoModel> temp = NovelsDao.getInstance().getAllUpdateHistory();
UpdateInfoModel[] result = temp.toArray(new UpdateInfoModel[temp.size()]);
return new AsyncTaskResult<UpdateInfoModel[]>(result, UpdateInfoModel[].class);
}
@Override
protected void onPostExecute(AsyncTaskResult<UpdateInfoModel[]> result) {
CallbackEventData message = new CallbackEventData("Completed", "LoadUpdatesTask");
owner.onCompleteCallback(message, result);
}
}