package ca.ualberta.cs.cmput301f14t14.questionapp.data.threading;
import java.io.IOException;
import java.util.List;
import android.content.Context;
import android.util.Log;
import ca.ualberta.cs.cmput301f14t14.questionapp.data.DataManager;
import ca.ualberta.cs.cmput301f14t14.questionapp.data.IDataStore;
import ca.ualberta.cs.cmput301f14t14.questionapp.model.Answer;
import ca.ualberta.cs.cmput301f14t14.questionapp.model.Question;
public class GetAnswerListTask extends AbstractDataManagerTask<Question, Void, List<Answer>> {
public GetAnswerListTask(Context c) {
super(c);
}
@Override
protected List<Answer> doInBackground(Question... arg0) {
Question question = arg0[0];
List<Answer> answerList = null;
IDataStore localDataStore = DataManager.getInstance(context).getLocalDataStore();
IDataStore remoteDataStore = DataManager.getInstance(context).getRemoteDataStore();
try {
answerList = remoteDataStore.getAnswerList(question);
} catch (IOException e) {
Log.e("DataManager", "Failed to get data from network");
}
if (answerList == null) {
try {
answerList = localDataStore.getAnswerList(question);
} catch (IOException e) {
Log.e("DataManager", "Failed to get answer list");
}
}
return answerList;
}
}