package com.mozu.mozuandroidinstoreassistant.app.tasks;
import android.content.Context;
import android.os.AsyncTask;
import com.crashlytics.android.Crashlytics;
import com.mozu.mozuandroidinstoreassistant.app.models.UserPreferences;
import com.mozu.mozuandroidinstoreassistant.app.models.authentication.UserPreferencesDiskInteractorListener;
import com.mozu.mozuandroidinstoreassistant.app.serialization.UserPreferencesSerializer;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
public class ReadUserPrefsFromDiskAsyncTask extends AsyncTask<Void, Void, List<UserPreferences>> {
private UserPreferencesDiskInteractorListener mListener;
private Context mContext;
public ReadUserPrefsFromDiskAsyncTask(UserPreferencesDiskInteractorListener listener, Context context) {
mListener = listener;
mContext = context;
}
@Override
protected List<UserPreferences> doInBackground(Void... params) {
UserPreferencesSerializer serializer = new UserPreferencesSerializer(mContext);
List<UserPreferences> prefs = null;
try {
prefs = serializer.deseraializeUserPrefs();
} catch (IOException e) {
Crashlytics.logException(e);
}
return prefs;
}
@Override
protected void onPostExecute(List<UserPreferences> userPreferences) {
super.onPostExecute(userPreferences);
if (userPreferences == null) {
userPreferences = new ArrayList<UserPreferences>();
}
mListener.finishedReading(userPreferences);
}
}